@@ 37-60 (lines=24) @@ | ||
34 | from sparkle.models import SparkleVersion |
|
35 | from omaha.models import Application |
|
36 | ||
37 | def generate_events(app_name, **options): |
|
38 | app_id = Application.objects.get(name=app_name).id |
|
39 | versions = SparkleVersion.objects.filter_by_enabled(app__name=app_name) |
|
40 | request_factory = RequestFactory() |
|
41 | ||
42 | def generate_fake_hour(): |
|
43 | for version in versions: |
|
44 | for i in range(random.randint(0, 20)): |
|
45 | id = uuid.UUID(int=i) |
|
46 | request = request_factory.get('/sparkle/%s/%s/appcast.xml?appVersionShort=%s&deviceID=%s' % ( |
|
47 | app_name, |
|
48 | version.channel, |
|
49 | version.short_version, |
|
50 | id |
|
51 | )) |
|
52 | collect_statistics(request, app_id, version.channel) |
|
53 | ||
54 | start = timezone.now() - timezone.timedelta(days=1) |
|
55 | ||
56 | for hourdelta in range(1, 25): |
|
57 | if hourdelta % 10 == 0: |
|
58 | print('=> ', hourdelta) |
|
59 | with freeze_time(start + timezone.timedelta(hours=hourdelta)): |
|
60 | generate_fake_hour() |
|
61 | ||
62 | ||
63 | class Command(BaseCommand): |
@@ 54-73 (lines=20) @@ | ||
51 | </app> |
|
52 | </request>""" |
|
53 | ||
54 | def generate_events(app_id, **options): |
|
55 | versions = Version.objects.filter_by_enabled(app__id=app_id) |
|
56 | n_hours = options['n_hours'] |
|
57 | ||
58 | def generate_fake_hour(): |
|
59 | for version in versions: |
|
60 | for i in range(random.randint(0, 20)): |
|
61 | id = uuid.UUID(int=i) |
|
62 | request = event_updatecheck % (id, app_id, version.version, version.channel) |
|
63 | request = bytes(request, 'utf8') |
|
64 | request = parse_request(request) |
|
65 | collect_statistics(request) |
|
66 | ||
67 | start = timezone.now() - timezone.timedelta(hours=n_hours) |
|
68 | ||
69 | for hourdelta in range(0, n_hours + 1): |
|
70 | if hourdelta % 10 == 0: |
|
71 | print('=> ', hourdelta) |
|
72 | with freeze_time(start + timezone.timedelta(hours=hourdelta)): |
|
73 | generate_fake_hour() |
|
74 | ||
75 | ||
76 | class Command(BaseCommand): |