-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathmerge-city.coffee
More file actions
executable file
·69 lines (55 loc) · 2.68 KB
/
merge-city.coffee
File metadata and controls
executable file
·69 lines (55 loc) · 2.68 KB
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
62
63
64
65
66
#!/usr/bin/env coffee
ECT = require 'ect'
fs = require 'fs'
glob = require 'glob'
Utils = require './lib/utils'
layout = "layout.ect"
glob '../top-github-users-data/data/user-data-*.json', {}, ( error, files ) =>
users = []
user_logins = {}
if error
exit
files_biggies = files.filter ( f ) -> f.match( /(Catalunya|España|Andaluc|Extremadura|Euskadi|Galicia)/ ) # to sort properly
files_not_biggies = files.filter ( f ) -> ! f.match( /(Catalunya|España|Andaluc)/ )
files = files_not_biggies.concat files_biggies
for filename in files
do (filename ) =>
place = /data-([^-]+)\./.exec(filename);
file = fs.readFileSync filename, 'utf8'
these_users = JSON.parse file
for user in these_users
do ( user ) =>
if not user_logins[user.login]
user.place = place[1]
users.push user
user_logins[user.login] = user
sorted_users = users.sort (a, b) ->
b.contributions - a.contributions
renderer = ECT({ root : 'layout' });
today = new Date()
from = new Date()
from.setYear today.getFullYear() - 1
data=
start_date: from.toGMTString()
end_date: today.toGMTString()
ciudad : "Spain"
usuarios: []
i=1
for user in users[0..999]
user.lugar = i++
if @config.get_last
k=1
for old_data in utils_node.data
if(old_data['login']==user.login)
break
k++
if(k>user.lugar)#Up
user.change="up"
else if(k<user.lugar)#Down
user.change="down"
else #Equal
user.change="equal"
data.usuarios.push( user )
fs.writeFileSync "../top-github-users-data/formatted/top-alt-Spain.md", renderer.render( layout, data )
utils = new Utils
utils.to_csv( users, "../top-github-users-data/data/processed/aggregated-top-Spain.csv", [ 'login','location','place','followers','contributions','stars','user_stars', 'language' ])