# $Id# from PLC.Faults import * from PLC.Method import Method from PLC.Parameter import Parameter, Mixed from PLC.Auth import Auth class GetSlicesMD5(Method): """ Returns the current md5 hash of slices.xml file (slices-0.5.xml.md5) """ roles = ['admin', 'pi', 'user', 'tech', 'node'] accepts = [ Auth(), ] returns = Parameter(str, "MD5 hash of slices.xml") def call(self, auth): try: file_path = '/var/www/html/xml/slices-0.5.xml.md5' slices_md5 = file(file_path).readline().strip() if slices_md5 <> "": return slices_md5 raise PLCInvalidArgument, "File is empty" except IOError: raise PLCInvalidArgument, "No such file"