Correzioni su full path.
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
0bea7a81bc
commit
8b5c87f801
@ -47,7 +47,7 @@ class Build(loaih.RemoteBuild):
|
|||||||
self.portable = False
|
self.portable = False
|
||||||
self.updatable = True
|
self.updatable = True
|
||||||
self.sign = True
|
self.sign = True
|
||||||
self.remoterepo = False
|
self.repo_type = 'local'
|
||||||
self.remote_host = ''
|
self.remote_host = ''
|
||||||
self.remote_path = ''
|
self.remote_path = ''
|
||||||
self.storage_path = '/mnt/appimage'
|
self.storage_path = '/mnt/appimage'
|
||||||
@ -126,11 +126,22 @@ class Build(loaih.RemoteBuild):
|
|||||||
if self.portable:
|
if self.portable:
|
||||||
self.relative_path.append('portable')
|
self.relative_path.append('portable')
|
||||||
|
|
||||||
fullpath_arr = self.storage_path.split('/')
|
# Fullpath might be intended two ways:
|
||||||
# Joining relative path only if it is not null
|
if self.repo_type == 'remote':
|
||||||
if len(self.relative_path) > 0:
|
# Repository is remote
|
||||||
fullpath_arr.extend(self.relative_path)
|
# we build full_path as it is absolute to the root of the
|
||||||
self.full_path = re.sub(r"/+", '/', str.join('/', fullpath_arr))
|
# storage_path.
|
||||||
|
self.full_path = '/'
|
||||||
|
if len(self.relative_path) >= 1:
|
||||||
|
self.full_path += str.join('/', self.relative_path)
|
||||||
|
else:
|
||||||
|
# Repository is local
|
||||||
|
# If it is remote or if it is local
|
||||||
|
fullpath_arr = self.storage_path.split('/')
|
||||||
|
# Joining relative path only if it is not null
|
||||||
|
if len(self.relative_path) > 0:
|
||||||
|
fullpath_arr.extend(self.relative_path)
|
||||||
|
self.full_path = re.sub(r"/+", '/', str.join('/', fullpath_arr))
|
||||||
|
|
||||||
|
|
||||||
def check(self):
|
def check(self):
|
||||||
@ -138,30 +149,27 @@ class Build(loaih.RemoteBuild):
|
|||||||
|
|
||||||
print("--- Check Phase ---")
|
print("--- Check Phase ---")
|
||||||
|
|
||||||
|
# let's check here if we are on a remote repo or local.
|
||||||
|
if self.storage_path.startswith("http"):
|
||||||
|
# Final repository is remote
|
||||||
|
self.repo_type = 'remote'
|
||||||
|
else:
|
||||||
|
self.repo_type = 'local'
|
||||||
|
|
||||||
if len(self.appimagefilename) != 2:
|
if len(self.appimagefilename) != 2:
|
||||||
self.calculate()
|
self.calculate()
|
||||||
|
|
||||||
for arch in self.arch:
|
for arch in self.arch:
|
||||||
|
|
||||||
# First, check if by metadata the repo is remote or not.
|
# First, check if by metadata the repo is remote or not.
|
||||||
if self.remoterepo or 'http' in self.storage_path:
|
if self.repo_type == 'remote':
|
||||||
self.remoterepo = True
|
|
||||||
# Remote storage. I have to query a remote site to know if it
|
# Remote storage. I have to query a remote site to know if it
|
||||||
# was already built.
|
# was already built.
|
||||||
name = self.appimagefilename[arch]
|
name = self.appimagefilename[arch]
|
||||||
if len(self.relative_path) == 0:
|
url = self.storage_path.rstrip('/') + self.full_path + '/' + name
|
||||||
path_arr = [ self.storage_path, '' ]
|
|
||||||
elif len(self.relative_path) == 1:
|
|
||||||
path_arr = [ self.storage_path, self.relative_path[0], '' ]
|
|
||||||
else:
|
|
||||||
path_arr = self.relative_path
|
|
||||||
path_arr.insert(0, self.storage_path)
|
|
||||||
|
|
||||||
path = str.join('/', path_arr)
|
|
||||||
matching = []
|
matching = []
|
||||||
try:
|
try:
|
||||||
with urllib.request.urlopen(path) as url:
|
with urllib.request.urlopen(url) as response:
|
||||||
matching = etree.HTML(url.read()).xpath(
|
matching = etree.HTML(response.read()).xpath(
|
||||||
f"//a[contains(@href, '{name}')]/@href"
|
f"//a[contains(@href, '{name}')]/@href"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -436,17 +444,10 @@ class Build(loaih.RemoteBuild):
|
|||||||
|
|
||||||
os.chdir(self.appnamedir)
|
os.chdir(self.appnamedir)
|
||||||
# Two cases here: local and remote storage_path.
|
# Two cases here: local and remote storage_path.
|
||||||
if self.remoterepo:
|
if self.repo_type == 'remote':
|
||||||
# Remote first.
|
# Remote first.
|
||||||
# Build destination directory
|
# Build destination directory
|
||||||
if len(self.relative_path) == 0:
|
remotepath = self.remote_path.rstrip('/') + self.full_path
|
||||||
remotepath = str.join('/', [ self.remote_path, '' ])
|
|
||||||
elif len(self.relative_path) == 1:
|
|
||||||
remotepath = str.join('/', [ self.remote_path, self.relative_path[0], '' ])
|
|
||||||
else:
|
|
||||||
path_arr = self.relative_path
|
|
||||||
path_arr.insert(0, self.remote_path)
|
|
||||||
remotepath = str.join('/', path_arr)
|
|
||||||
try:
|
try:
|
||||||
subprocess.run(
|
subprocess.run(
|
||||||
r"rsync -rlIvz --munge-links *.AppImage* " +
|
r"rsync -rlIvz --munge-links *.AppImage* " +
|
||||||
|
Reference in New Issue
Block a user