Skip to content

Commit b9128c5

Browse files
author
Bin Zhang
authored
Merge pull request #405 from natural-law/v3
Stat the version of engine but not the version of console.
2 parents 49652bf + 77745b1 commit b9128c5

File tree

2 files changed

+33
-26
lines changed

2 files changed

+33
-26
lines changed

bin/cocos.py

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
import locale
2626
import gettext
2727
import json
28+
import utils
29+
import re
2830

2931

3032
# FIXME: MultiLanguage should be deprecated in favor of gettext
@@ -324,7 +326,6 @@ def change_agree_stat(cls, agreed):
324326
old_lines = f.readlines()
325327
f.close()
326328

327-
import re
328329
new_str = 'enable_stat=%s' % ('true' if agreed else 'false')
329330
new_lines = []
330331
for line in old_lines:
@@ -367,7 +368,7 @@ def init_stat_obj(cls):
367368

368369
if m is not None:
369370
stat_cls = getattr(m, "Statistic")
370-
cls.stat_obj = stat_cls()
371+
cls.stat_obj = stat_cls(STAT_VERSION)
371372

372373
# cocos_stat is found
373374
if cls.stat_obj is not None:
@@ -800,7 +801,6 @@ def copy_files_with_rules(src_rootDir, src, dst, include=None, exclude=None):
800801

801802

802803
def _in_rules(rel_path, rules):
803-
import re
804804
ret = False
805805
path_str = rel_path.replace("\\", "/")
806806
for rule in rules:
@@ -886,11 +886,7 @@ def help():
886886
print(MultiLanguage.get_string('COCOS_HELP_EXAMPLE'))
887887

888888
def show_version():
889-
import utils
890-
cur_path = get_current_path()
891-
engine_path = os.path.normpath(os.path.join(cur_path, '../../../'))
892-
engine_ver = utils.get_engine_version(engine_path)
893-
print(engine_ver)
889+
print(COCOS_ENGINE_VERSION)
894890
print("Cocos Console %s" % COCOS2D_CONSOLE_VERSION)
895891

896892
def run_plugin(command, argv, plugins):
@@ -967,6 +963,16 @@ def _check_python_version():
967963
sys.argv.pop(idx)
968964
sys.argv.pop(idx)
969965

966+
# Get the engine version for the DataStat
967+
cur_path = get_current_path()
968+
engine_path = os.path.normpath(os.path.join(cur_path, '../../../'))
969+
COCOS_ENGINE_VERSION = utils.get_engine_version(engine_path)
970+
STAT_VERSION = COCOS_ENGINE_VERSION
971+
ver_pattern = r"cocos2d-x-(.*)"
972+
match = re.match(ver_pattern, COCOS_ENGINE_VERSION)
973+
if match:
974+
STAT_VERSION = match.group(1)
975+
970976
DataStatistic.show_stat_agreement()
971977
DataStatistic.stat_event('cocos', 'start', 'invoked')
972978

bin/cocos_stat.py

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -140,15 +140,15 @@ def get_time_stamp():
140140

141141
return ret
142142

143-
def get_static_params():
143+
def get_static_params(engine_version):
144144
static_params = {
145145
Fields.API_VERSION: GA_APIVERSION,
146146
Fields.TRACKING_ID: GA_TRACKERID,
147147
Fields.CLIENT_ID: get_user_id(),
148148
Fields.APP_NAME: APPNAME,
149149
Fields.HIT_TYPE: "event",
150150
Fields.USER_LANGUAGE: get_language(),
151-
Fields.APP_VERSION: cocos.COCOS2D_CONSOLE_VERSION,
151+
Fields.APP_VERSION: engine_version,
152152
Fields.SCREEN_NAME: get_system_info(),
153153
Fields.SCREEN_RESOLUTION: get_python_version()
154154
}
@@ -216,7 +216,7 @@ def gen_bi_event(event, event_value):
216216

217217
return ret
218218

219-
def get_bi_params(events, event_value, multi_events=False):
219+
def get_bi_params(events, event_value, multi_events=False, engine_versio=''):
220220
if cocos.os_is_win32():
221221
system_str = 'windows'
222222
ver_info = sys.getwindowsversion()
@@ -250,7 +250,7 @@ def get_bi_params(events, event_value, multi_events=False):
250250
},
251251
'app': {
252252
'7' : BI_APPID,
253-
'8' : cocos.COCOS2D_CONSOLE_VERSION,
253+
'8' : engine_version,
254254
'9' : get_language()
255255
},
256256
'time' : get_time_stamp(),
@@ -410,32 +410,32 @@ def pop_bak_ga_cached_event():
410410

411411
return e
412412

413-
def do_send_ga_cached_event():
413+
def do_send_ga_cached_event(engine_version):
414414
e = pop_bak_ga_cached_event()
415415
while(e is not None):
416-
do_send(e, 0, is_ga=True, multi_events=False)
416+
do_send(e, 0, is_ga=True, multi_events=False, engine_version=engine_version)
417417
e = pop_bak_ga_cached_event()
418418

419-
def get_params_str(event, event_value, is_ga=True, multi_events=False):
419+
def get_params_str(event, event_value, is_ga=True, multi_events=False, engine_version=''):
420420
if is_ga:
421-
params = get_static_params()
421+
params = get_static_params(engine_version)
422422
params[Fields.EVENT_CATEGORY] = '2dx-' + event[0]
423423
params[Fields.EVENT_ACTION] = event[1]
424424
params[Fields.EVENT_LABEL] = event[2]
425425
params[Fields.EVENT_VALUE] = '%d' % event_value
426426
params_str = urllib.urlencode(params)
427427
else:
428-
params = get_bi_params(event, event_value, multi_events)
428+
params = get_bi_params(event, event_value, multi_events, engine_version)
429429
strParam = json.dumps(params)
430430
params_str = zlib.compress(strParam, 9)
431431

432432
return params_str
433433

434-
def do_http_request(event, event_value, is_ga=True, multi_events=False):
434+
def do_http_request(event, event_value, is_ga=True, multi_events=False, engine_version=''):
435435
ret = False
436436
conn = None
437437
try:
438-
params_str = get_params_str(event, event_value, is_ga, multi_events)
438+
params_str = get_params_str(event, event_value, is_ga, multi_events, engine_version)
439439
if is_ga:
440440
host_url = GA_HOST
441441
host_path = GA_PATH
@@ -463,9 +463,9 @@ def do_http_request(event, event_value, is_ga=True, multi_events=False):
463463

464464
return ret
465465

466-
def do_send(event, event_value, is_ga=True, multi_events=False):
466+
def do_send(event, event_value, is_ga=True, multi_events=False, engine_version=''):
467467
try:
468-
ret = do_http_request(event, event_value, is_ga, multi_events)
468+
ret = do_http_request(event, event_value, is_ga, multi_events, engine_version)
469469
if not ret:
470470
# request failed, cache the event
471471
cache_event(event, is_ga, multi_events)
@@ -477,8 +477,9 @@ class Statistic(object):
477477
MAX_CACHE_EVENTS = 50
478478
MAX_CACHE_PROC = 5
479479

480-
def __init__(self):
480+
def __init__(self, engine_version):
481481
self.process_pool = []
482+
self.engine_version = engine_version
482483
if cocos.os_is_win32():
483484
multiprocessing.freeze_support()
484485

@@ -499,7 +500,7 @@ def send_cached_events(self):
499500
# create processes to handle the events
500501
proc_num = min(event_size, Statistic.MAX_CACHE_PROC)
501502
for i in range(proc_num):
502-
p = multiprocessing.Process(target=do_send_ga_cached_event)
503+
p = multiprocessing.Process(target=do_send_ga_cached_event, args=(self.engine_version))
503504
p.start()
504505
self.process_pool.append(p)
505506

@@ -514,7 +515,7 @@ def send_cached_events(self):
514515
if os.path.isfile(bi_cfg_file):
515516
os.remove(bi_cfg_file)
516517

517-
p = multiprocessing.Process(target=do_send, args=(events, 0, False, True))
518+
p = multiprocessing.Process(target=do_send, args=(events, 0, False, True, self.engine_version))
518519
p.start()
519520
self.process_pool.append(p)
520521
except:
@@ -526,15 +527,15 @@ def send_event(self, category, action, label):
526527

527528
# send event to GA
528529
if GA_ENABLED:
529-
p = multiprocessing.Process(target=do_send, args=(event, 1, True, False,))
530+
p = multiprocessing.Process(target=do_send, args=(event, 1, True, False, self.engine_version))
530531
p.start()
531532
self.process_pool.append(p)
532533

533534
# send event to BI
534535
if BI_ENABLED:
535536
# add timestamp
536537
event.append(get_time_stamp())
537-
p = multiprocessing.Process(target=do_send, args=(event, 1, False, False,))
538+
p = multiprocessing.Process(target=do_send, args=(event, 1, False, False, self.engine_version))
538539
p.start()
539540
self.process_pool.append(p)
540541
except:

0 commit comments

Comments
 (0)