aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--elivepatch_client/client/patch.py20
-rw-r--r--elivepatch_client/client/restful.py20
2 files changed, 27 insertions, 13 deletions
diff --git a/elivepatch_client/client/patch.py b/elivepatch_client/client/patch.py
index fa8af75..b059540 100644
--- a/elivepatch_client/client/patch.py
+++ b/elivepatch_client/client/patch.py
@@ -16,7 +16,13 @@ class ManaGer(object):
patch_filename = []
# search previous livepatch patch folder
for (dirpath, dirnames, filenames) in os.walk(self.tmp_patch_folder):
- patch_filename.extend(filenames)
+ if filenames and not dirnames:
+ for filename in filenames:
+ if filename.endswith('.patch'):
+ print('dirpath: '+str(dirpath),'filename: '+str(filename))
+ incremental_patch_fullpath = os.path.join(dirpath, filename)
+ print(incremental_patch_fullpath)
+ patch_filename.append(incremental_patch_fullpath)
# search eapply_user patches
# local basedir=${PORTAGE_CONFIGROOT%/}/etc/portage/patches
try:
@@ -28,9 +34,15 @@ class ManaGer(object):
kernel_patch_basedir_P = os.path.join(portage_configroot, 'sys-kernel',
kernel_sources + '-' + kernel_version)
basedir = [kernel_patch_basedir_PN, kernel_patch_basedir_P]
- for dir in basedir:
- for (dirpath, dirnames, filenames) in os.walk(dir):
- patch_filename.extend(filenames)
+ for path in basedir:
+ for (dirpath, dirnames, filenames) in os.walk(path):
+ if filenames and not dirnames:
+ for filename in filenames:
+ if filename.endswith('.patch'):
+ print('dirpath: '+str(dirpath),'filename: '+str(filename))
+ incremental_patch_fullpath = os.path.join(dirpath, filename)
+ print(incremental_patch_fullpath)
+ patch_filename.append(incremental_patch_fullpath)
print('List of current patches:')
return patch_filename
diff --git a/elivepatch_client/client/restful.py b/elivepatch_client/client/restful.py
index 957aba9..e11d8ba 100644
--- a/elivepatch_client/client/restful.py
+++ b/elivepatch_client/client/restful.py
@@ -53,24 +53,26 @@ class ManaGer(object):
# Static patch and config filename
files=[]
counter = 0
+ print('incremental_patches: '+str(incremental_patches))
for incremental_patch_fullpath in incremental_patches:
- read_incremental_patch = open(incremental_patch_fullpath, 'rb')
- files.append(('patch', (str(counter) + '.patch', read_incremental_patch, 'multipart/form-data', {'Expires': '0'})))
- read_incremental_patch.close()
- counter += 1
- files.append(('main_patch', ('main_patch', open(new_patch_fullpath, 'rb'), 'multipart/form-data', {'Expires': '0'})))
+ if incremental_patch_fullpath.endswith('.patch'):
+ # TODO: we need to close what we open
+ read_incremental_patch = open(incremental_patch_fullpath, 'rb')
+ files.append(('patch', (str(counter) + '.patch', read_incremental_patch, 'multipart/form-data', {'Expires': '0'})))
+ counter += 1
+ files.append(('main_patch', ('main.patch', open(new_patch_fullpath, 'rb'), 'multipart/form-data', {'Expires': '0'})))
files.append(('config', ('config', open(temporary_config.name, 'rb'), 'multipart/form-data', {'Expires': '0'})))
print(str(files))
- temporary_config.close()
try:
response = requests.post(url, files=files, headers=headers)
print('send file: ' + str(response.json()))
response_dict = response.json()
except requests.exceptions.ConnectionError as e:
print('connection error: %s' % e)
- sys.exit(1)
- #except:
- #self.catching_exceptions_exit(self.send_file)
+ temporary_config.close()
+ except:
+ self._catching_exceptions_exit(self.send_files)
+ temporary_config.close()
return response_dict
def build_livepatch(self):