· 7 years ago · Dec 11, 2018, 03:18 PM
1import json
2from pprint import pprint
3
4import datetime
5from firebase import firebase
6
7
8def accessdb_fb_auth(dsn, SECRET_KEY, email, admin=False):
9 from firebase import firebase
10 import datetime
11
12
13 auth=firebase.FirebaseAuthentication(SECRET_KEY, email, admin, admin) #funzione che serve a creare l'autenticazione
14 db= firebase.FirebaseApplication(dsn,auth) #accedo al database con l'url "dsn" e l'autorizzazione e istanzio l'oggetto db
15
16
17 time=datetime.datetime.now() #acquisisco la data per salvare il log d'accesso al DB
18 time_log=time.strftime('%d/%m/%Y %H:%M,%S')
19 timeforpath=time.strftime('%d%m%Y%H%M%S')
20
21 nameemail=email.split('@')[0]
22 db.put("/log/log_"+nameemail, "/datetime"+timeforpath+"/time", time_log)#registro l'orario e la data del log
23 db.put("/log/log_"+nameemail, "/datetime"+timeforpath+"/email", email) #registro l'email nel log
24 return db #ritorna l'oggetto tramite il quale accediamo al DataBase
25
26#-------------------------FUNZIONE-------------------------------
27
28#unico parametro di passaggio, id dell'account ADMIN
29
30def initAdminAccount(uid):
31 db=accessdb_fb_auth('https://sensesquaredb.firebaseio.com/','0JuzXIx0GkGP1OKS4LltwLVgQrnaaYX5MDP421KT',"nuovaprova@gmail.com",True)
32 areas=db.get("/Zones/Areas",None)
33
34 capKeys=areas.keys()
35 zonesArray=[]
36 for x in areas:
37 for y in areas[x]:
38 zonesArray.append({"cap":x,"zone":y})
39
40 db.put("Users/"+uid,"/areas",zonesArray)
41 db.put("Users/"+uid,"type","B")
42
43
44
45#-------------prova funzione ----------------------------
46initAdminAccount("nk5QuwOGwSdjAEDPfg2HGklQPXw2")