def _make_patch(patch_info): # Does with the name implies. Used with multiprocessing patch = Patch(patch_info) patch_name = patch_info['patch_name'] dst_path = patch_info['dst'] patch_number = patch_info['patch_num'] src_path = patch_info['src'] patch_name += '-' + str(patch_number) # Updating with full name - number included patch.patch_name = patch_name if not os.path.exists(src_path): log.warning('Src file does not exist to create patch') else: log.debug('Patch source path:{}'.format(src_path)) log.debug('Patch destination path: {}'.format(dst_path)) if patch.ready is True: log.info("Creating patch... " "{}".format(os.path.basename(patch_name))) bsdiff4.file_diff(src_path, patch.dst_path, patch.patch_name) base_name = os.path.basename(patch_name) log.info('Done creating patch... {}'.format(base_name)) else: log.error('Missing patch attr') return patch
def test_patch(self): with io.open('app.py', 'w', encoding='utf-8') as f: f.write('a = 0') info = { 'dst': 'app.py', 'patch_name': 'p-name-1', 'package': 'filename-mac-0.1.1.tar.gz' } p = Patch(info) assert p.ready is True
def test_patch_bad_info(self): info = { 'dst': 'app.py', 'patch_name': 'p-name-1', 'package': 'filename-mac-0.1.1.tar.gz' } temp_dst = info['dst'] info['dst'] = None p = Patch(info) assert p.ready is False info['dst'] = temp_dst temp_patch = info['patch_name'] info['patch_name'] = None p = Patch(info) assert p.ready is False info['patch_name'] = temp_patch info['package'] = None p = Patch(info) assert p.ready is False
def _make_patch(patch_info): # Does with the name implies. Used with multiprocessing patch = Patch(patch_info) patch_name = patch_info['patch_name'] dst_path = patch_info['dst'] patch_number = patch_info['patch_num'] src_path = patch_info['src'] patch_name += '-' + str(patch_number) # Updating with full name - number included patch.patch_name = patch_name if not os.path.exists(src_path): log.warning('Src file does not exist to create patch') else: log.debug('Patch source path: %s', src_path) log.debug('Patch destination path: %s', dst_path) if patch.ready is True: log.info('Creating patch... %s', os.path.basename(patch_name)) bsdiff4.file_diff(src_path, patch.dst_path, patch.patch_name) base_name = os.path.basename(patch_name) log.info('Done creating patch... %s', base_name) else: log.error('Missing patch attr') return patch