+++ /dev/null
-# !/usr/bin/python
-# -*-coding: utf-8-*-
-
-import pickle
-import os.path
-import xmlrpclib
-import ast
-import time
-import simplejson
-
-class Event2:
- def __init__(self, structure):
- ##Definition des variables##
- self.data_access_methode = ""
- self.data_access_options = ""
-
- self.structure = structure
- self.methode = ""
- self.parameters = {}
- self.return_fields = []
- self.print_method = ""
- self.print_options = ""
- self.geo_methode = ""
- self.id = ""
- self.timestamp = ""
- #on paramètre timestamp, si c'est un dynamique, il sera fournit, sinon, on le met à 0
- timestamp=0;
-
- ##APE###
- self.raw = ""
- self.channel = ""
- #######
-
- ## On creer l'objet ##
- self.data = self.make_data(timestamp)
-
-
- def split(self):
- args = self.structure.split(";");
- self.channel = args[1]
- self.raw = args[3]
- self.data_access_methode = args[4]
- self.data_access_options = ast.literal_eval(args[5])
- self.print_method = args[6]
- self.print_options = ast.literal_eval(args[7])
- self.methode = args[8]
- self.parameters = ast.literal_eval(args[9])
- self.return_fields = eval(args[10])
- self.timestamp = args[11]
-
- def get_event_list_from_xmlrpc(self,timestamp):
-
- ## on test pour voir si on est en dynamique, si c'est le cas, on met à jour la valeur du timestamp
- if timestamp!=0:
- self.parameters[self.timestamp] = int(timestamp)
-
-
- ####on cree l'identification
- auth = {}
- if self.data_access_options["authType"] == "anonymous":
- auth["AuthMethod"] = "anonymous"
-
- elif self.data_access_options["authType"] == "password":
- auth["AuthMethod"] = "password"
- auth["Username"] = self.data_access_options["Username"]
- auth["AuthString"] = self.data_access_options["AuthString"]
-
- elif self.data_access_options["authType"] == "session":
- auth["AuthMethod"] = "session"
- auth["session"] = self.data_access_options["session"]
-
- elif self.data_access_options["authType"] == "gpg":
- auth["AuthMethod"] = "gpg"
- auth["name"] = self.data_access_options["name"]
- auth["signature"] = self.data_access_options["signature"]
-
-
- srv = xmlrpclib.Server(self.data_access_options["server"], allow_none = 1)
-
-
- ##On gère en fonction des methodes
-
- if self.methode=="GetSites":
- self.geo_methode="site_id";
- try :
- if len(self.return_fields)==0:
- data = srv.GetSites(auth, self.parameters)
- else :
- data = srv.GetSites(auth, self.parameters, self.return_fields)
- except:
- return self.parameters
- else:
- return 2
-
- ###on recupère la liste des localisation
-
- ##si il y a moins de 8 resultats, on recupère seulement la localisation de ceux-ci
- list=[]
- try:
- sites_id = srv.GetSites(auth,{},["site_id","latitude","longitude"])
- except :
- return 3
- try:
- for i in data:
- for j in sites_id:
- if i["site_id"]==j["site_id"]:
- try:
- pos=[{"latitude": j["latitude"], "longitude": j["longitude"]}]
- except:
- return 4
- i["ape_position"] = pos
- list.append(i)
- except:
- return 5
- return list
-
-
-
- def make_data(self,timestamp):
- try :
- self.split()
- except:
- return 43
- try :
- if self.data_access_methode=="xmlrpc":
- return self.get_event_list_from_xmlrpc(timestamp)
- except:
- return 67
-