Exemplo n.º 1
0
 def request_resource_data(md5_file_name):
     request_url = project_resource_request_url(md5_file_name)
     try:
         response_data = common.url_response_data(request_url)
         verify_hash = hashlib.md5(response_data).hexdigest()
         assert verify_hash == os.path.splitext(md5_file_name)[0], "MD5 hash of response data not matching"
         return response_data
     except urllib2.HTTPError as e:
         raise common.ScratchtobatError("Error with {}: '{}'".format(request_url, e))
Exemplo n.º 2
0
def request_project_code(project_id):
    def project_json_request_url(project_id):
        return helpers.config.get("SCRATCH_API", "project_url_template").format(project_id)

    try:
        request_url = project_json_request_url(project_id)
        return common.url_response_data(request_url)
#     except urllib2.HTTPError as e:
    except None as e:
        raise common.ScratchtobatError("Error with {}: '{}'".format(request_url, e))
Exemplo n.º 3
0
def request_project_code(project_id):
    def project_json_request_url(project_id):
        return _HTTP_API_PROJECT.format(project_id)

    try:
        request_url = project_json_request_url(project_id)
        return common.url_response_data(request_url)
#     except urllib2.HTTPError as e:
    except None as e:
        raise common.ScratchtobatError("Error with {}: '{}'".format(request_url, e))
Exemplo n.º 4
0
 def __assertTagsAreNonempty(self, xml_root):
     header_tags = [FIELD_NAMES_TO_XML_NAMES[field] if field in FIELD_NAMES_TO_XML_NAMES else field for field in common.fields_of(catbase.XmlHeader) if field not in IGNORED_XML_HEADER_CLASS_FIELDS]
     mandatory_header_tags = set(header_tags) - set(OPTIONAL_HEADER_TAGS)
     for header_tag in header_tags:
         tag = "header/" + header_tag
         xml_node = xml_root.find(tag)
         assert xml_node is not None, "XML file error: tag '{}' must be available".format(tag)
         if header_tag in mandatory_header_tags:
             assert xml_node.text is not None, "XML file error: Value for tag '{}' must be set".format(tag)
             if header_tag == "screenMode":
                 assert xml_node.text == catcommon.ScreenModes.MAXIMIZE.toString()  # @UndefinedVariable
             elif header_tag == "remixOf":
                 try:
                     assert common.url_response_data(xml_node.text) is not None
                 except urllib2.HTTPError, e:
                     self.fail("Expection '{}' with url '{}'".format(e, xml_node.text))
Exemplo n.º 5
0
def _request_project_info(project_id):
    # TODO: cache this request...
    response_data = common.url_response_data(_project_info_request_url(project_id))
    return json.loads(response_data)
Exemplo n.º 6
0
def _request_project_info(project_id):
    response_data = common.url_response_data(_project_info_request_url(project_id))
    return json.loads(response_data)