From: Berker Peksag Date: Thu, 2 Oct 2014 17:13:46 +0000 (+0300) Subject: Port "gmg batchaddmedia" command to Python 3. X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=b36c84e68a4ef709ce5408e321195b4c6a65a867;p=mediagoblin.git Port "gmg batchaddmedia" command to Python 3. --- diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 4931bda2..4137b55c 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -14,10 +14,16 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import os -import requests, codecs +from __future__ import print_function + +import codecs import csv -from urlparse import urlparse +import os + +import requests +import six + +from six.moves.urllib.parse import urlparse from mediagoblin.gmg_commands import util as commands_util from mediagoblin.submit.lib import ( @@ -60,8 +66,8 @@ def batchaddmedia(args): # get the user user = app.db.User.query.filter_by(username=args.username.lower()).first() if user is None: - print _(u"Sorry, no user by username '{username}' exists".format( - username=args.username)) + print(_(u"Sorry, no user by username '{username}' exists".format( + username=args.username))) return upload_limit, max_file_size = get_upload_file_limits(user) @@ -73,7 +79,7 @@ def batchaddmedia(args): else: error = _(u'File at {path} not found, use -h flag for help'.format( path=args.metadata_path)) - print error + print(error) return abs_metadata_filename = os.path.abspath(metadata_path) @@ -85,7 +91,7 @@ def batchaddmedia(args): if some_string is None: return None else: - return unicode(some_string) + return six.text_type(some_string) with codecs.open( abs_metadata_filename, 'r', encoding='utf-8') as all_metadata: @@ -110,13 +116,13 @@ def batchaddmedia(args): license = file_metadata.get('license') try: json_ld_metadata = compact_and_validate(file_metadata) - except ValidationError, exc: + except ValidationError as exc: error = _(u"""Error with media '{media_id}' value '{error_path}': {error_msg} Metadata was not uploaded.""".format( media_id=media_id, error_path=exc.path[0], error_msg=exc.message)) - print error + print(error) continue url = urlparse(original_location) @@ -136,9 +142,9 @@ Metadata was not uploaded.""".format( try: media_file = file(file_abs_path, 'r') except IOError: - print _(u"""\ + print(_(u"""\ FAIL: Local file {filename} could not be accessed. -{filename} will not be uploaded.""".format(filename=filename)) +{filename} will not be uploaded.""".format(filename=filename))) continue try: submit_media( @@ -152,22 +158,22 @@ FAIL: Local file {filename} could not be accessed. metadata=json_ld_metadata, tags_string=u"", upload_limit=upload_limit, max_file_size=max_file_size) - print _(u"""Successfully submitted {filename}! + print(_(u"""Successfully submitted {filename}! Be sure to look at the Media Processing Panel on your website to be sure it -uploaded successfully.""".format(filename=filename)) +uploaded successfully.""".format(filename=filename))) files_uploaded += 1 except FileUploadLimit: - print _( -u"FAIL: This file is larger than the upload limits for this site.") + print(_( +u"FAIL: This file is larger than the upload limits for this site.")) except UserUploadLimit: - print _( -"FAIL: This file will put this user past their upload limits.") + print(_( +"FAIL: This file will put this user past their upload limits.")) except UserPastUploadLimit: - print _("FAIL: This user is already past their upload limits.") - print _( + print(_("FAIL: This user is already past their upload limits.")) + print(_( "{files_uploaded} out of {files_attempted} files successfully submitted".format( files_uploaded=files_uploaded, - files_attempted=files_attempted)) + files_attempted=files_attempted))) def unicode_csv_reader(unicode_csv_data, dialect=csv.excel, **kwargs):