Skip to content

Commit 188f960

Browse files
authored
Merge pull request #121 from SummerLife/fix_change_upstream_error
[fix] package update error
2 parents d2d68dd + 97cf8ec commit 188f960

File tree

5 files changed

+67
-41
lines changed

5 files changed

+67
-41
lines changed

archive.py

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -24,36 +24,23 @@
2424
# 2020-4-10 SummerGift Code clear up
2525
#
2626

27+
import logging
28+
import os
29+
import shutil
2730
import tarfile
2831
import zipfile
29-
import os
3032
import pkgsdb
31-
import platform
32-
import shutil
33-
import logging
34-
35-
36-
def is_windows():
37-
if platform.system() == "Windows":
38-
return True
39-
else:
40-
return False
41-
42-
43-
def remove_folder(folder_path):
44-
if os.path.isdir(folder_path):
45-
if is_windows():
46-
cmd = 'rd /s /q ' + folder_path
47-
os.system(cmd)
48-
else:
49-
shutil.rmtree(folder_path)
33+
from cmds.cmd_package.cmd_package_utils import is_windows, remove_folder
5034

5135

5236
def unpack(archive_filename, path, package_info, package_name):
5337
package_version = package_info['ver']
54-
5538
package_temp_path = os.path.join(path, "package_temp")
56-
os.makedirs(package_temp_path)
39+
try:
40+
remove_folder(package_temp_path)
41+
os.makedirs(package_temp_path)
42+
except Exception as e:
43+
logging.warning('Error message : {0}'.format(e))
5744

5845
logging.info("BSP packages path {0}".format(path))
5946
logging.info("BSP package temp path: {0}".format(package_temp_path))
@@ -124,13 +111,23 @@ def unpack(archive_filename, path, package_info, package_name):
124111
# rename package folder name
125112
package_name_with_version = package_name + '-' + package_version
126113
rename_path = os.path.join(package_temp_path, package_name_with_version)
127-
os.rename(os.path.join(package_temp_path, dir_name), rename_path)
128114

129-
# copy package to bsp packages path.
130-
shutil.move(rename_path, os.path.join(path, package_name_with_version))
115+
logging.info("origin name: {0}".format(os.path.join(package_temp_path, dir_name)))
116+
logging.info("rename name: {0}".format(rename_path))
117+
118+
try:
119+
os.rename(os.path.join(package_temp_path, dir_name), rename_path)
120+
except Exception as e:
121+
# remove temp folder and archive file
122+
logging.warning('{0}'.format(e))
123+
124+
if not os.path.isdir(os.path.join(path, package_name_with_version)):
125+
# copy package to bsp packages path.
126+
shutil.move(rename_path, os.path.join(path, package_name_with_version))
131127

132128
# remove temp folder
133129
remove_folder(package_temp_path)
130+
134131
return True
135132

136133

cmds/cmd_package/cmd_package_update.py

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,18 @@
2424
# 2020-04-13 SummerGift refactoring
2525
#
2626

27-
import os
2827
import json
29-
import kconfig
30-
import pkgsdb
31-
import shutil
28+
import logging
29+
import os
3230
import platform
31+
import shutil
3332
import time
34-
import archive
33+
3534
import requests
36-
import logging
35+
36+
import archive
37+
import kconfig
38+
import pkgsdb
3739
from package import PackageOperation, Bridge_SConscript
3840
from vars import Import, Export
3941
from .cmd_package_utils import get_url_from_mirror_server, execute_command, git_pull_repo, user_input, \
@@ -212,7 +214,7 @@ def install_not_git_package(package, package_info, local_pkgs_path, package_url,
212214
result = False
213215
except Exception as e:
214216
result = False
215-
print('Error message: %s\t' % e)
217+
logging.error('Error message: {0}'.format(e))
216218
else:
217219
print("The file does not exist.")
218220

@@ -247,9 +249,13 @@ def install_package(env_root, pkgs_root, bsp_root, package_info, force_update):
247249
package.parse(pkg_path)
248250

249251
url_from_json = package.get_url(package_info['ver'])
250-
package_url = package.get_url(package_info['ver'])
251-
pkgs_name_in_json = package.get_name()
252252

253+
if not url_from_json:
254+
return False
255+
256+
package_url = url_from_json
257+
258+
pkgs_name_in_json = package.get_name()
253259
logging.info("begin to install packages: {0}".format(pkgs_name_in_json))
254260
if is_git_url(package_url):
255261
ver_sha = package.get_versha(package_info['ver'])

cmds/cmd_package/cmd_package_utils.py

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,13 @@
2323
# 2020-04-08 SummerGift Optimize program structure
2424
#
2525

26+
import json
27+
import os
2628
import platform
2729
import subprocess
28-
import time
29-
import json
3030
import sys
31+
import time
32+
import shutil
3133
import requests
3234

3335

@@ -175,3 +177,18 @@ def find_macro_in_config(filename, macro_name):
175177
config.close()
176178
return False
177179

180+
181+
def is_windows():
182+
if platform.system() == "Windows":
183+
return True
184+
else:
185+
return False
186+
187+
188+
def remove_folder(folder_path):
189+
if os.path.isdir(folder_path):
190+
if is_windows():
191+
cmd = 'rd /s /q ' + folder_path
192+
os.system(cmd)
193+
else:
194+
shutil.rmtree(folder_path)

env.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import sys
3030
import argparse
3131
import logging
32-
import time
3332
import platform
3433

3534
from cmds import *

package.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,15 @@
2525
# 2020-4-7 SummerGift Code improvement
2626
#
2727

28-
import os
2928
import json
30-
import archive
29+
import logging
30+
import os
3131
import sys
32+
3233
import requests
3334

35+
import archive
36+
3437
"""Template for creating a new file"""
3538

3639
Bridge_SConscript = '''import os
@@ -151,11 +154,15 @@ def get_filename(self, ver):
151154
return None
152155

153156
def get_url(self, ver):
157+
url = None
154158
for item in self.pkg['site']:
155159
if item['version'].lower() == ver.lower():
156-
return item['URL']
160+
url = item['URL']
157161

158-
return None
162+
if not url:
163+
logging.warning("Can't find right url {0}, please check {1}".format(ver.lower(), self.pkg['site']))
164+
165+
return url
159166

160167
def get_versha(self, ver):
161168
for item in self.pkg['site']:

0 commit comments

Comments
 (0)