Esempio n. 1
0

XML_FILE_NAME = "/usr/local/ban-sites/request.xml"
P7S_FILE_NAME = "/usr/local/ban-sites/request.xml.sig"
ts=""
#Если файлик ранее выгружался, то пробуем получить из него данные
try:
    ts=ElementTree().parse("/usr/local/ban-sites/dump.xml").attrib['updateTime']
    dt = datetime.strptime(ts[:19],'%Y-%m-%dT%H:%M:%S')
    fromFile=int(time.mktime(dt.timetuple()))
except:
    fromFile=0

opener=ZapretInfo()
try:
    lastDumpDate=opener.getLastDumpDate()
#    print 'lastDumpDate: %s' % (lastDumpDate)
#    print 'fromFileDate: %s' % (fromFile)
except:
    exit(0)
#Проверяем, изменился ли файлик
if lastDumpDate/1000<>fromFile:
    ts=ElementTree().parse("/usr/local/ban-sites/dump.xml").attrib['updateTime']
#    print 'Base is outdated. Downloading new version...'
#    print 'Current base version: ' + ts
    #Файлик изменился. Отправляем запрос на выгрузку
    try:
        request=opener.sendRequest(XML_FILE_NAME,P7S_FILE_NAME)
    except:
        exit(0)
    #Проверяем, принят ли запрос к обработке
Esempio n. 2
0
    def run(self):
	while 1:
	    rkndump           = ZapretInfo()
	    DumpDate          = rkndump.getLastDumpDate() 	# Dump timestamp in msec
	    DumpDateUrgently  = rkndump.getLastDumpDateEx() 	# Urgently Dump timestamp im msec
	    WebServiceVersion = rkndump.getWebServiceVersion()  # Web-service string "X.Y"
	    DumpFormatVersion = rkndump.getDumpFormatVersion()  # Dump format version string "X.Y"
	    DocVersion        = rkndump.getDocVersion()         # Doc version string "X.Y"
	    
	    localdump 	      = DumpFile(DIR);
	    LocalDumpDate     = localdump.getUpdateTime()
	    LocalDumpDateUrgently = localdump.getUpdateTimeUrgently()
	    
	    deltaDumpDate = DumpDate/1000 - LocalDumpDate
	    deltaDumpDateUrgently = DumpDateUrgently/1000 - LocalDumpDateUrgently
	    
	    
	    
	    self.zapretlogger.info("Dump date:\t\t%s [local: %s, deltas: %s ]" 
                                   % (datetime.datetime.fromtimestamp(DumpDate/1000), 
                                      datetime.datetime.fromtimestamp(LocalDumpDate), 
                                      sec2hr(deltaDumpDate) ))
    	    
            self.zapretlogger.info("Dump date urgently:\t%s [local: %s, deltas: %s  ]" 
                                   % (datetime.datetime.fromtimestamp(DumpDateUrgently/1000), 
                                      datetime.datetime.fromtimestamp(LocalDumpDateUrgently), 
                                      sec2hr(deltaDumpDateUrgently) ))
    	    self.zapretlogger.info("Web Service Version:\t\t%s [local: %s]" % (WebServiceVersion, localdump.getWebServiceVersion()))
    	    self.zapretlogger.info("Dump Format Version:\t\t%s [local: %s]" % (DumpFormatVersion, localdump.getDumpFormatVersion()))
    	    self.zapretlogger.info("Operator's Doc Version:\t%s [local: %s]" % (DocVersion, localdump.getDocVersion()) )
    	    
    	    if (deltaDumpDateUrgently <> 0):
    		self.zapretlogger.info("Need urgently update")
    		os.system("/home/cmd4jazz/roskomnadzor/download.sh")
    	    
    	    if (deltaDumpDate >= 24*60*60 ):
    		self.zapretlogger.info("Need daily update")
    		os.system("/home/cmd4jazz/roskomnadzor/download.sh")
    	    
    	    
    	    if (WebServiceVersion > localdump.getWebServiceVersion()):
    		self.zapretlogger.info("New Version of Web Service")
    		localdump.setWebServiceVersion(WebServiceVersion)
    		
    	    if (DumpFormatVersion > localdump.getDumpFormatVersion()):
    		self.zapretlogger.info("New Version of Dump Format")
    		localdump.setDumpFormatVersion(DumpFormatVersion)
    	
    	    
    	    if (DocVersion > localdump.getDocVersion()):
    		self.zapretlogger.info("New Version of Operator's Doc Version")	
    		localdump.setDocVersion(DocVersion) 
    		os.system("wget -c http://vigruzki.rkn.gov.ru/docs/description_for_operators_actual.pdf -O /home/cmd4jazz/roskomnadzor/dump/doc-"+DocVersion+".pdf"
                          " -o /home/cmd4jazz/roskomnadzor/dump/doc-"+DocVersion+".log")
                message = "New documentation for RosKomNadzor Servise is available ( version "+DocVersion+")\nHave fun!\n---\nrkn-support";
                mailnotify.sendemail ("New version of RKN service", message, "/home/cmd4jazz/roskomnadzor/dump/doc-"+DocVersion+".pdf")

    	    
    	    time.sleep (self.refresh*60)
            
            self.zapretlogger.info ("="*100)
Esempio n. 3
0
XML_FILE_NAME = "req.xml"
P7S_FILE_NAME = "req.xml.p7s"

#Если файлик ранее выгружался, то пробуем получить из него данные
try:
    ts=ElementTree().parse("dump.xml").attrib['updateTime']
    dt = datetime.strptime(ts[:19],'%Y-%m-%dT%H:%M:%S')
    fromFile=int(time.mktime(dt.timetuple()))
except:
    fromFile=0

opener=ZapretInfo()

#Проверяем, изменился ли файлик
if opener.getLastDumpDate()/1000<>fromFile:
    #Файлик изменился. Отправляем запрос на выгрузку
    request=opener.sendRequest(XML_FILE_NAME,P7S_FILE_NAME)
    #Проверяем, принят ли запрос к обработке
    if request['result']:
        #Запрос не принят, получен код
        code=request['code']
        print 'Got code %s' % (code)
        print 'Trying to get result...'
        while 1:
            #Пытаемся получить архив по коду
            request=opener.getResult(code)
            if request['result']:
                #Архив получен, скачиваем его и распаковываем
                print 'Got it!'
                file = open('result.zip', "wb")
Esempio n. 4
0
XML_FILE_NAME = "req.xml"
P7S_FILE_NAME = "req.xml.p7s"

#Если файлик ранее выгружался, то пробуем получить из него данные
try:
    ts = ElementTree().parse("dump.xml").attrib['updateTime']
    dt = datetime.strptime(ts[:19], '%Y-%m-%dT%H:%M:%S')
    fromFile = int(time.mktime(dt.timetuple()))
except:
    fromFile = 0

opener = ZapretInfo()

#Проверяем, изменился ли файлик
if opener.getLastDumpDate() / 1000 <> fromFile:
    #Файлик изменился. Отправляем запрос на выгрузку
    request = opener.sendRequest(XML_FILE_NAME, P7S_FILE_NAME)
    #Проверяем, принят ли запрос к обработке
    if request['result']:
        #Запрос не принят, получен код
        code = request['code']
        print 'Got code %s' % (code)
        print 'Trying to get result...'
        while 1:
            #Пытаемся получить архив по коду
            request = opener.getResult(code)
            if request['result']:
                #Архив получен, скачиваем его и распаковываем
                print 'Got it!'
                file = open('result.zip', "wb")
Esempio n. 5
0
#Если файлик ранее выгружался, то пробуем получить из него данные
try:
    ts=ElementTree().parse(DIR+"dump.xml").attrib['updateTime']
    dt = datetime.strptime(ts[:19],'%Y-%m-%dT%H:%M:%S')
    fromFile=int(time.mktime(dt.timetuple()))+3
except:
    fromFile=0

opener=ZapretInfo()
#print opener.sendRequest(XML_FILE_NAME,P7S_FILE_NAME)


#Проверяем, изменился ли файлик


fromServer = opener.getLastDumpDate()
logger = open (DIR+"log.txt", 'a');
logger.write( 'Opener get time %d\n' % (fromServer/1000) )
logger.write( 'File get a time %d\n' % (fromFile))
if opener.getLastDumpDate()/1000 <> fromFile:
    #Файлик изменился.Создаем XML-запрос.
    request = ET.Element('request')
    requestTime = ET.SubElement(request, 'requestTime')
    requestTime.text =datetime.now(pytz.utc).isoformat()
    operatorName = ET.SubElement(request, 'operatorName')
    operatorName.text = OPERATOR_NAME
    inn = ET.SubElement(request, 'inn')
    inn.text = OPERATOR_INN
    ogrn = ET.SubElement(request, 'ogrn')
    ogrn.text = OPERATOR_OGRN
    email = ET.SubElement(request, 'email')
Esempio n. 6
0
    def run(self):
        checker = rknChecker(self.settings)
        logging.info ("Last dump have a time: %s", checker.getDumpDate());
        request = rknRequestXML(checker.OPERATOR_NAME, checker.OPERATOR_INN, checker.OPERATOR_OGRN, checker.OPERATOR_EMAIL, 'Europe/Moscow' )
        request.generate(self.workdir+'request.xml');
        while True:
            rkndump           = ZapretInfo()
            DumpDate          = rkndump.getLastDumpDate() 	# Dump timestamp in msec
            DumpDateUrgently  = rkndump.getLastDumpDateEx() 	# Urgently Dump timestamp im msec
            WebServiceVersion = rkndump.getWebServiceVersion()  # Web-service string "X.Y"
            DumpFormatVersion = rkndump.getDumpFormatVersion()  # Dump format version string "X.Y"
            DocVersion        = rkndump.getDocVersion()         # Doc version string "X.Y"

            localdump 	      = rknDump(self.workdir);
	    LocalDumpDate     = localdump.getUpdateTime()
	    LocalDumpDateUrgently = localdump.getUpdateTimeUrgently()

	    deltaDumpDate = DumpDate/1000 - LocalDumpDate
	    deltaDumpDateUrgently = DumpDateUrgently/1000 - LocalDumpDateUrgently



            self.rknlog.info("Dump date:\t\t%s [local: %s, deltas: %s ]"
                                   % (datetime.datetime.fromtimestamp(DumpDate/1000),
                                      datetime.datetime.fromtimestamp(LocalDumpDate),
                                      sec2hr(deltaDumpDate) ))

            self.rknlog.info("Dump date urgently:\t%s [local: %s, deltas: %s  ]"
                                   % (datetime.datetime.fromtimestamp(DumpDateUrgently/1000),
                                      datetime.datetime.fromtimestamp(LocalDumpDateUrgently),
                                      sec2hr(deltaDumpDateUrgently) ))
            self.rknlog.info("Web Service Version:\t\t%s [local: %s]" % (WebServiceVersion, localdump.getWebServiceVersion()))
            self.rknlog.info("Dump Format Version:\t\t%s [local: %s]" % (DumpFormatVersion, localdump.getDumpFormatVersion()))
            self.rknlog.info("Operator's Doc Version:\t%s [local: %s]" % (DocVersion, localdump.getDocVersion()) )

    	#if (deltaDumpDateUrgently <> 0):
            self.rknlog.info("Need urgently update")
        #    os.system("/home/cmd4jazz/roskomnadzor/download.sh")

    	#if (deltaDumpDate >= 24*60*60 ):
            self.rknlog.info("Need daily update")


            #os.system("/home/cmd4jazz/roskomnadzor/download.sh")


    	#if (WebServiceVersion > localdump.getWebServiceVersion()):
            self.rknlog.info("New Version of Web Service")
            #localdump.setWebServiceVersion(WebServiceVersion)

    	#if (DumpFormatVersion > localdump.getDumpFormatVersion()):
            self.rknlog.info("New Version of Dump Format")
            #localdump.setDumpFormatVersion(DumpFormatVersion)


    	#if (DocVersion > localdump.getDocVersion()):
            self.rknlog.info("New Version of Operator's Doc Version")
            #localdump.setDocVersion(DocVersion)
            #os.system("wget -c http://vigruzki.rkn.gov.ru/docs/description_for_operators_actual.pdf -O /home/cmd4jazz/roskomnadzor/dump/doc-"+DocVersion+".pdf"
            #              " -o /home/cmd4jazz/roskomnadzor/dump/doc-"+DocVersion+".log")
            #message = "New documentation for RosKomNadzor Servise is available ( version "+DocVersion+")\nHave fun!\n---\nrkn-support";
            #mailnotify.sendemail ("New version of RKN service", message, "/home/cmd4jazz/roskomnadzor/dump/doc-"+DocVersion+".pdf")



            time.sleep (self.refresh*60)

            self.rknlog.info ("="*100)