Skip to content

Commit

Permalink
Expose epre-built wheels, tarballs and ABOUT files as releases aboutc…
Browse files Browse the repository at this point in the history
…ode-org#295

This script copies all thirdparty files(required) and place it in repo as release assets.

Signed-off-by: Abhishek Kumar <abhishek.kasyap09@gmail.com>
  • Loading branch information
Abhishek-Dev09 committed Jul 7, 2020
1 parent 4d44bd3 commit ccd0d6b
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 17 deletions.
30 changes: 13 additions & 17 deletions etc/scripts/freeze_and_update_reqs.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,21 +36,13 @@
import subprocess


os.chdir(os.pardir) #go to etc
os.chdir(os.pardir) # go to scancode-toolkit
cwd = os.getcwd()
print("Current working directory:", cwd)
fp = open("requirements.txt", "wb")
fp.close()


def is_package_exist_with_hashes(package_name,hash_of_file):
""" Check if any line in the file contains package with same hashes """
# Open the file in read only mode
line_with_hash = package_name + " \\" + "\n" + " --hash=sha256:"+ hash_of_file
with open("requirements.txt", 'r') as read_obj:
with open('requirements.txt') as file:
# Read all lines in the file one by one
for line in read_obj:
for line in file:
# For each line, check if line contains the package with same hashes
if line_with_hash in line:
return True
Expand All @@ -60,27 +52,27 @@ def is_package_exist_without_hashes(package_name):
""" Check if any line in the file contains package without same hash """
# Open the file in read only mode
line_with_hash = package_name + " \\" + "\n"
with open("requirements.txt", 'r') as read_obj:
with open('requirements.txt') as file:
# Read all lines in the file one by one
for line in read_obj:
for line in file:
# For each line, check if line contains the string
if line_with_hash in line:
return True
return False


def add_package(package_name,hash_of_file):
with open("requirements.txt", "a") as file_object:
with open('requirements.txt', 'a') as file:
# Append package with hashes at the end of file
line = package_name + " \\" + "\n" + " --hash=sha256:"+ hash_of_file + " \n"
file_object.write(line)
file.write(line)

def append_requirement_file(package_name,hash_of_file):
if is_package_exist_with_hashes(package_name,hash_of_file):
return
else:
inputfile = open("requirements.txt", 'r').readlines()
write_file = open("requirements.txt",'w')
inputfile = open('requirements.txt').readlines()
write_file = open('requirements.txt','w')
for line in inputfile:
write_file.write(line)
lion= package_name + " \\" + "\n"
Expand Down Expand Up @@ -108,6 +100,10 @@ def hash_of_file(path):
return hash.hexdigest()

def main():
os.chdir(os.pardir) #go to etc
os.chdir(os.pardir) # go to scancode-toolkit
cwd = os.getcwd()
print("Current working directory:", cwd)
for subdir, dirs, files in os.walk(cwd+"/thirdparty"):
for filename in files:
filepath = subdir + os.sep + filename
Expand Down Expand Up @@ -135,4 +131,4 @@ def main():
else: add_package(package_name,hs)

if __name__ == '__main__':
main()
main()
55 changes: 55 additions & 0 deletions github_release.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# -*- coding: utf-8 -*-
#
# Copyright (c) 2019 nexB Inc. and others. All rights reserved.
# http://nexb.com and https://github.com/nexB/scancode-toolkit/
# The ScanCode software is licensed under the Apache License version 2.0.
# Data generated with ScanCode require an acknowledgment.
# ScanCode is a trademark of nexB Inc.
#
# You may not use this software except in compliance with the License.
# You may obtain a copy of the License at: http://apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software distributed
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
# CONDITIONS OF ANY KIND, either express or implied. See the License for the
# specific language governing permissions and limitations under the License.
#
# When you publish or redistribute any data created with ScanCode or any ScanCode
# derivative work, you must accompany this data with the following acknowledgment:
#
# Generated with ScanCode and provided on an "AS IS" BASIS, WITHOUT WARRANTIES
# OR CONDITIONS OF ANY KIND, either express or implied. No content created from
# ScanCode should be considered or used as legal advice. Consult an Attorney
# for any legal advice.
# ScanCode is a free software code scanning tool from nexB Inc. and others.
# Visit https://github.com/nexB/scancode-toolkit/ for support and download.


from __future__ import absolute_import
from __future__ import print_function

import fnmatch
import subprocess


def main():
cwd = os.getcwd()
print("Current working directory:", cwd)
subprocess.run(["pip3","install","github-release-retry"])
token = input ("Enter GITHUB_TOKEN :")

GITHUB_TOKEN=token

tag = input ("Enter tag_name :")
repo = input ("Enter name of repository name :")
body = input ("Enter body string :")
user = input ("Enter Github user name :")
limit = input ("Enter retry limit :")
for subdir, dirs, files in os.walk(cwd+"/thirdparty"):
for filename in files:
if fnmatch.fnmatchcase(filename, "*py3*") or fnmatch.fnmatchcase(filename, "*cp36*") or (fnmatch.fnmatchcase(filename, "*tar.gz*") and not fnmatch.fnmatchcase(filename, "*py2*")):
filepath = subdir + os.sep + filename
subprocess.run(["python3","-m","github_release_retry.github_release_retry","--user",user,"--repo",repo,"--tag_name",tag,"--body_string",body,"--retry_limit",limit,filepath])

if __name__ == '__main__':
main()

0 comments on commit ccd0d6b

Please sign in to comment.