xref: /aosp_15_r20/external/skia/tools/skp/generate_page_set.py (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker#!/usr/bin/env python
2*c8dee2aaSAndroid Build Coastguard Worker# Copyright (c) 2019 The Chromium Authors. All rights reserved.
3*c8dee2aaSAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
4*c8dee2aaSAndroid Build Coastguard Worker# found in the LICENSE file.
5*c8dee2aaSAndroid Build Coastguard Worker
6*c8dee2aaSAndroid Build Coastguard Worker
7*c8dee2aaSAndroid Build Coastguard Worker"""Script that generates a page_set for the webpages_playback.py script."""
8*c8dee2aaSAndroid Build Coastguard Worker
9*c8dee2aaSAndroid Build Coastguard Worker
10*c8dee2aaSAndroid Build Coastguard Workerfrom __future__ import print_function
11*c8dee2aaSAndroid Build Coastguard Workerimport jinja2
12*c8dee2aaSAndroid Build Coastguard Workerimport os
13*c8dee2aaSAndroid Build Coastguard Worker
14*c8dee2aaSAndroid Build Coastguard Worker
15*c8dee2aaSAndroid Build Coastguard WorkerPAGE_SET_TEMPLATE = 'page_set_template'
16*c8dee2aaSAndroid Build Coastguard WorkerPAGE_SET_DIR = 'page_sets'
17*c8dee2aaSAndroid Build Coastguard Worker
18*c8dee2aaSAndroid Build Coastguard Worker
19*c8dee2aaSAndroid Build Coastguard Workerdef main():
20*c8dee2aaSAndroid Build Coastguard Worker  created_page_sets = []
21*c8dee2aaSAndroid Build Coastguard Worker  while True:
22*c8dee2aaSAndroid Build Coastguard Worker    user_agent = raw_input('user agent? (mobile/desktop/tablet): ')
23*c8dee2aaSAndroid Build Coastguard Worker    url_name = raw_input('URL name? (eg: google): ')
24*c8dee2aaSAndroid Build Coastguard Worker    url = raw_input('URL? (eg: http://www.google.com): ')
25*c8dee2aaSAndroid Build Coastguard Worker    comment = raw_input('Reason for adding the URL? (eg: go/skia-skps-3-2019): ')
26*c8dee2aaSAndroid Build Coastguard Worker
27*c8dee2aaSAndroid Build Coastguard Worker    with open(PAGE_SET_TEMPLATE) as f:
28*c8dee2aaSAndroid Build Coastguard Worker      t = jinja2.Template(f.read())
29*c8dee2aaSAndroid Build Coastguard Worker    subs = {
30*c8dee2aaSAndroid Build Coastguard Worker      'user_agent': user_agent,
31*c8dee2aaSAndroid Build Coastguard Worker      'url_name': url_name,
32*c8dee2aaSAndroid Build Coastguard Worker      'url': url,
33*c8dee2aaSAndroid Build Coastguard Worker      'comment': comment,
34*c8dee2aaSAndroid Build Coastguard Worker    }
35*c8dee2aaSAndroid Build Coastguard Worker
36*c8dee2aaSAndroid Build Coastguard Worker    page_set_name = 'skia_%s_%s.py' % (url_name, user_agent)
37*c8dee2aaSAndroid Build Coastguard Worker    page_set_path = os.path.join(PAGE_SET_DIR, page_set_name)
38*c8dee2aaSAndroid Build Coastguard Worker    with open(page_set_path, 'w') as f:
39*c8dee2aaSAndroid Build Coastguard Worker      f.write(t.render(**subs))
40*c8dee2aaSAndroid Build Coastguard Worker    created_page_sets.append(page_set_path)
41*c8dee2aaSAndroid Build Coastguard Worker    print('\nPage set has been created in %s\n\n' % page_set_path)
42*c8dee2aaSAndroid Build Coastguard Worker
43*c8dee2aaSAndroid Build Coastguard Worker    keep_going = raw_input('Do you have more page sets to create? (y/n)')
44*c8dee2aaSAndroid Build Coastguard Worker    if keep_going != 'y':
45*c8dee2aaSAndroid Build Coastguard Worker      break
46*c8dee2aaSAndroid Build Coastguard Worker
47*c8dee2aaSAndroid Build Coastguard Worker  print('\n\nSummarizing all created page sets:')
48*c8dee2aaSAndroid Build Coastguard Worker  for page_set_path in created_page_sets:
49*c8dee2aaSAndroid Build Coastguard Worker    print('* %s' % page_set_path)
50*c8dee2aaSAndroid Build Coastguard Worker
51*c8dee2aaSAndroid Build Coastguard Worker
52*c8dee2aaSAndroid Build Coastguard Workerif __name__ == '__main__':
53*c8dee2aaSAndroid Build Coastguard Worker  main()
54