| @@ 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): |
|