MCPcopy Create free account
hub / github.com/cxapython/catvm / deploy_egg

Function deploy_egg

selenium/deploy_aws.py:62–93  ·  view source on GitHub ↗
(host, port, project_name, file_suffix)

Source from the content-addressed store, hash-verified

60
61
62def deploy_egg(host, port, project_name, file_suffix):
63 # deploy egg
64 egg_files = find_files(file_suffix, os.path.join(cur_dir, 'dist'))
65 if len(egg_files) > 1:
66 raise Exception('ERROR: there are more than one egg files')
67 elif len(egg_files) == 0:
68 raise Exception('ERROR: egg file not found')
69
70 # deploy to spiderkeeper
71 session = requests.session()
72 base_url = 'https://{host}:{port}'.format(host=host, port=port)
73 resp = session.get(os.path.join(base_url, 'project/manage'))
74 if not resp.ok:
75 raise Exception('visit {} failed'.format(base_url))
76 resp = session.get(os.path.join(base_url, 'api/projects'))
77 projects = json.loads(resp.text)
78 project_id = None
79 for project in projects:
80 if project['project_name'] == project_name:
81 project_id = project['project_id']
82 break
83 if project_id is None:
84 raise Exception('ERROR: project {} not found'.format(project_name))
85
86 files = {'file': (open(egg_files[0], 'rb'))}
87 headers = {}
88 headers['Origin'] = base_url
89 headers['Referer'] = os.path.join(base_url, 'project/{}/spider/deploy'.format(project_id))
90 upload_url = os.path.join(base_url, 'project/{}/spider/upload'.format(project_id))
91 resp = session.post(upload_url, files=files, stream=True, allow_redirects=True, headers=headers)
92 if not resp.ok:
93 raise Exception('ERROR: deploy failed. status code: {}, reason: {}\n'.format(resp.status_code, resp.reason))
94
95
96def clean():

Callers 1

mainFunction · 0.70

Calls 1

find_filesFunction · 0.70

Tested by

no test coverage detected