forked from SubhrajitPrusty/codex-github
-
Notifications
You must be signed in to change notification settings - Fork 0
/
update.py
61 lines (50 loc) · 1.09 KB
/
update.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import requests
import json
import os
import sys
from pymongo import MongoClient
from userdata import Member
import re
from dotenv import load_dotenv
load_dotenv()
dburl = os.environ.get("MONGODB_URI")
client = MongoClient(dburl)
db = client.get_default_database()
members = db.members
users_json = os.path.join("static", "users.json")
with open(users_json, "r+") as usernames:
usernames = json.loads(usernames.read())
# insert if not present
for u in usernames:
if members.count_documents({"username": re.compile(u, re.IGNORECASE)}) == 0:
members.insert_one({"username": u})
m = Member(u)
m.fetch()
del m
# update db
for u in usernames:
m = Member(u)
m.fetch()
# m.printData()
ud = {
"name": m.name,
"username": m.username,
"avatar": m.avatar,
"bio": m.bio,
"nRepos": m.nRepos,
"followers": m.followers,
"following": m.following,
"totalCommits": m.totalCommits
}
if None in ud.values():
m.fetch()
members.update_one(
{
"username": ud["username"]
},
{
"$set": ud
},
upsert=False)
for mem in members.find():
print(mem)