示例#1
0
def new_version(travis_api_key, tag):
    """Allows Travis to mark a new version during build."""
    try:
        TravisKeys.get(travis_api_key)
    except TravisKeys.DoesNotExist:
        return "API key is invalid.", 403

    if tag.startswith("v"):
        tag = tag.lstrip("v")

    i = 0
    while True:
        try:
            Version.get(i)
            i += 1
        except Version.DoesNotExist:
            break

    r = requests.get(
        "https://api.github.com/repos/JakeMakesStuff/MagicCap/releases/tags/v{}"
        .format(tag))

    r.raise_for_status()
    j = r.json()

    Version(release_id=i, version=tag, changelogs=j['body'], beta="b"
            in tag).save()

    return "Release {} successfully saved to the database.".format(tag), 200
示例#2
0
文件: views.py 项目: vicever/OMS
def repo_version_add(request,
                     template_name='repository/repo_version_add.html'):
    form = VersionForm(request.POST or None)
    username = request.session['username']
    if form.is_valid():
        project_name = form.cleaned_data['repository'].repo_tag
        print project_name
        archive_path = os.path.join(form.cleaned_data['archive_path'],
                                    project_name)
        version = get_version(archive_path)
        if not version:
            return HttpResponse(
                "Your configuration specifies to merge with the ref 'master' from the remote, "
                "but no such ref was fetched.")
        if Version.objects.filter(version=version[0]):
            return HttpResponse("already exist.")
        else:
            version_object = Version(project=project_name,
                                     version=version[0],
                                     timestamp=version[1],
                                     author=version[2],
                                     content=version[3],
                                     vernier=u'0')
            version_object.save()

        return redirect('repo_version_list')

    return render(
        request, template_name, {
            'form': form,
            'var6': 'active',
            'username': username,
            'highlight2': 'active',
        })
示例#3
0
def init_db():

    brand = Brand(name='Ford', brand_id=1, country='US').save()
    Brand(name='Ford2', brand_id=2, country='US').save()
    brand.save()

    fiesta = Car(brand=brand, name='Fiesta', car_id=1)
    edge = Car(brand=brand, name='Edge', car_id=2)
    ecosport = Car(brand=brand, name='Ecosport', car_id=3)
    ka = Car(brand=brand, name='Ka', car_id=4)

    flex_counter = 0
    gas_counter = 0

    for car in [fiesta, edge, ecosport, ka]:

        flex_counter += 1
        gas_counter += 1

        car.save()

        flex_version = Version(price=random.randrange(0, 50000),
                               model=car,
                               name='{name} {fuel} - {year}'.format(
                                   name=car.name,
                                   fuel='Flex',
                                   year=2011,
                                   version_id=flex_counter))
        gasoline_version = Version(price=random.randrange(0, 50000),
                                   model=car,
                                   name='{name} {fuel} - {year}'.format(
                                       name=car.name,
                                       fuel='Gasolina',
                                       year=2011,
                                       version_id=gas_counter))

        flex_version.save()
        gasoline_version.save()
示例#4
0
def scrap_version(all_versions, model_name):
    result_versions = []
    i = 1

    for version in all_versions:
        print(f"Version: {i}/{len(all_versions)}")
        i += 1
        spec_tables = []
        technical = []

        link = f"https://www.ultimatespecs.com/{version}"
        version_soup = get_body_content(link)

        # rendered_page = render_page(link)
        # version_soup = bs(rendered_page, "html.parser").body

        version = version_soup.find(class_="ficha_specs_main")
        version_name = version.find(class_="spec_title").find("span").text
        version_code = version_name.replace(model_name, "").strip()
        version_year = version_soup.find(class_="right_column").find("b").text
        version_year = get_year_period(version_year)
        specification_div = version.select(
            ".ficha_specs_left, .ficha_specs_right")

        # Getting spec sections
        for div in specification_div:
            tables = div.select("table")
            spec_tables += tables

        # Getting specifications from spec section
        for table in spec_tables:
            table_title_div = table.find(class_="spec_title")
            if table_title_div == None:
                continue

            table_title = clear_text(table_title_div.text).replace(
                f"{version_name} ", "")
            if table_title in titles_template.keys():
                table_title = titles_template[table_title]

            rows = table.select("tr")
            technical.append(scrap_specification(rows, table_title))

        version_object = Version(version_name, version_code, version_year,
                                 technical)
        result_versions.append(version_object)

    return result_versions
def construct_version_msg():
    version = MY_VERSION
    services = 1024 + 8 + 4 + 2 + 1  # turn 'em all on
    timestamp = math.floor(datetime.datetime.utcnow().timestamp())
    addr_recv = Address(services=services, ip=0, port=0, time=None)
    addr_from = Address(services=services, ip=0, port=0, time=None)
    nonce = make_nonce(8)
    user_agent = USER_AGENT
    # FIXME
    start_height = 1
    relay = 1
    v = Version(version, services, timestamp, addr_recv, addr_from, nonce,
                user_agent, start_height, relay)

    command = encode_command(b'version')
    payload = v.serialize()
    msg = Message(command, payload)
    return msg