本文整理汇总了Python中settings.LOG.error方法的典型用法代码示例。如果您正苦于以下问题:Python LOG.error方法的具体用法?Python LOG.error怎么用?Python LOG.error使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类settings.LOG
的用法示例。
在下文中一共展示了LOG.error方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: generate_test_files
# 需要导入模块: from settings import LOG [as 别名]
# 或者: from settings.LOG import error [as 别名]
def generate_test_files():
"""Insert asterisks as translations in po files"""
# Open them up and insert asterisks for all empty msgstrs
logging.info("Generating test po files")
en_po_dir = os.path.join(settings.LOCALE_PATHS[0], "en/LC_MESSAGES/")
for po_file in glob.glob(os.path.join(en_po_dir, "*.po")):
msgid_pattern = re.compile(r'msgid \"(.*)\"\nmsgstr', re.S | re.M)
content = open(os.path.join(en_po_dir, po_file), 'r').read()
results = content.split("\n\n")
with open(os.path.join(en_po_dir, "tmp.po"), 'w') as temp_file:
# We know the first block is static, so just dump that.
temp_file.write(results[0])
# Now work through actual translations
for result in results[1:]:
try:
msgid = re.findall(msgid_pattern, result)[0]
temp_file.write("\n\n")
temp_file.write(result.replace("msgstr \"\"", "msgstr \"***%s***\"" % msgid))
except Exception as e:
logging.error("Failed to insert test string: %s\n\n%s\n\n" % (e, result))
# Once done replacing, rename temp file to overwrite original
os.rename(os.path.join(en_po_dir, "tmp.po"), os.path.join(en_po_dir, po_file))
(out, err, rc) = compile_po_files("en")
if err:
logging.debug("Error executing compilemessages: %s" % err)
示例2: handle
# 需要导入模块: from settings import LOG [as 别名]
# 或者: from settings.LOG import error [as 别名]
def handle(self, *args, **options):
# Get the CSV data, either from a recent cache_file
# or from the internet
cache_dir = settings.MEDIA_ROOT
cache_file = os.path.join(cache_dir, "dubbed_videos.csv")
if os.path.exists(cache_file) and datediff(datetime.datetime.now(), datetime.datetime.fromtimestamp(os.path.getctime(cache_file)), units="days") <= 14.0:
# Use cached data to generate the video map
csv_data = open(cache_file, "r").read()
(video_map, _) = generate_dubbed_video_mappings(csv_data=csv_data)
else:
# Use cached data to generate the video map
(video_map, csv_data) = generate_dubbed_video_mappings()
try:
ensure_dir(cache_dir)
with open(cache_file, "w") as fp:
fp.write(csv_data)
except Exception as e:
logging.error("Failed to make a local cache of the CSV data: %s" % e)
# Now we've built the map. Save it.
out_file = DUBBED_VIDEOS_MAPPING_FILE
ensure_dir(os.path.dirname(out_file))
logging.info("Saving data to %s" % out_file)
with open(out_file, "w") as fp:
json.dump(video_map, fp)
logging.info("Done.")
示例3: download_subtitle
# 需要导入模块: from settings import LOG [as 别名]
# 或者: from settings.LOG import error [as 别名]
def download_subtitle(youtube_id, lang_code, format="srt"):
"""Return subtitles for YouTube ID in language specified. Return False if they do not exist. Update local JSON accordingly."""
assert format == "srt", "We only support srt download at the moment."
api_info_map = json.loads(
open(settings.SUBTITLES_DATA_ROOT + SRTS_JSON_FILENAME).read()
)
# get amara id
amara_code = api_info_map.get(youtube_id).get("amara_code")
# make request
# Please see http://amara.readthedocs.org/en/latest/api.html
base_url = "https://amara.org/api2/partners/videos"
r = make_request(headers, "%s/%s/languages/%s/subtitles/?format=srt" % (
base_url, amara_code, lang_code))
if isinstance(r, basestring):
return r
else:
# return the subtitle text, replacing empty subtitle lines with
# spaces to make the FLV player happy
try:
r.encoding = "UTF-8"
response = (r.text or u"") \
.replace("\n\n\n", "\n \n\n") \
.replace("\r\n\r\n\r\n", "\r\n \r\n\r\n")
except Exception as e:
logging.error(e)
response = "client-error"
return response
示例4: zip_language_packs
# 需要导入模块: from settings import LOG [as 别名]
# 或者: from settings.LOG import error [as 别名]
def zip_language_packs(lang_codes=None):
"""Zip up and expose all language packs
converts all into ietf
"""
lang_codes = lang_codes or os.listdir(LOCALE_ROOT)
lang_codes = [lcode_to_ietf(lc) for lc in lang_codes]
logging.info("Zipping up %d language pack(s)" % len(lang_codes))
for lang_code_ietf in lang_codes:
lang_code_django = lcode_to_django_dir(lang_code_ietf)
lang_locale_path = os.path.join(LOCALE_ROOT, lang_code_django)
if not os.path.exists(lang_locale_path):
logging.warn("Unexpectedly skipping missing directory: %s" % lang_code_django)
elif not os.path.isdir(lang_locale_path):
logging.error("Skipping language where a file exists where a directory was expected: %s" % lang_code_django)
# Create a zipfile for this language
zip_filepath = get_language_pack_filepath(lang_code_ietf)
ensure_dir(os.path.dirname(zip_filepath))
logging.info("Creating zip file in %s" % zip_filepath)
z = zipfile.ZipFile(zip_filepath, 'w', zipfile.ZIP_DEFLATED)
# Get every single file in the directory and zip it up
for metadata_file in glob.glob('%s/*.json' % lang_locale_path):
z.write(os.path.join(lang_locale_path, metadata_file), arcname=os.path.basename(metadata_file))
srt_dirpath = get_srt_path(lang_code_django)
for srt_file in glob.glob(os.path.join(srt_dirpath, "*.srt")):
z.write(srt_file, arcname=os.path.join("subtitles", os.path.basename(srt_file)))
z.close()
logging.info("Done.")
示例5: save
# 需要导入模块: from settings import LOG [as 别名]
# 或者: from settings.LOG import error [as 别名]
def save(self, update_userlog=True, *args, **kwargs):
# To deal with backwards compatibility,
# check video_id, whether imported or not.
if not self.video_id:
assert kwargs.get("imported", False), "video_id better be set by internal code."
assert self.youtube_id, "If not video_id, you better have set youtube_id!"
self.video_id = i18n.get_video_id(self.youtube_id) or self.youtube_id # for unknown videos, default to the youtube_id
if not kwargs.get("imported", False):
self.full_clean()
# Compute learner status
already_complete = self.complete
self.complete = (self.points >= VideoLog.POINTS_PER_VIDEO)
if not already_complete and self.complete:
self.completion_timestamp = datetime.now()
# Tell logins that they are still active (ignoring validation failures).
# TODO(bcipolli): Could log video information in the future.
if update_userlog:
try:
UserLog.update_user_activity(self.user, activity_type="login", update_datetime=(self.completion_timestamp or datetime.now()), language=self.language)
except ValidationError as e:
logging.error("Failed to update userlog during video: %s" % e)
super(VideoLog, self).save(*args, **kwargs)
示例6: login
# 需要导入模块: from settings import LOG [as 别名]
# 或者: from settings.LOG import error [as 别名]
def login(request, facility):
facility_id = facility and facility.id or None
facilities = list(Facility.objects.all())
# Fix for #1211: refresh cached facility info when it's free and relevant
refresh_session_facility_info(request, facility_count=len(facilities))
if request.method == 'POST':
# log out any Django user or facility user
logout(request)
username = request.POST.get("username", "")
password = request.POST.get("password", "")
# first try logging in as a Django user
user = authenticate(username=username, password=password)
if user:
auth_login(request, user)
return HttpResponseRedirect(request.next or reverse("easy_admin"))
# try logging in as a facility user
form = LoginForm(data=request.POST, request=request, initial={"facility": facility_id})
if form.is_valid():
user = form.get_user()
try:
UserLog.begin_user_activity(user, activity_type="login", language=request.language) # Success! Log the event (ignoring validation failures)
except ValidationError as e:
logging.error("Failed to begin_user_activity upon login: %s" % e)
request.session["facility_user"] = user
messages.success(request, _("You've been logged in! We hope you enjoy your time with KA Lite ") +
_("-- be sure to log out when you finish."))
# Send them back from whence they came
landing_page = form.cleaned_data["callback_url"]
if not landing_page:
# Just going back to the homepage? We can do better than that.
landing_page = reverse("coach_reports") if form.get_user().is_teacher else None
landing_page = landing_page or (reverse("account_management") if not settings.package_selected("RPi") else reverse("homepage"))
return HttpResponseRedirect(form.non_field_errors() or request.next or landing_page)
else:
messages.error(
request,
_("There was an error logging you in. Please correct any errors listed below, and try again."),
)
else: # render the unbound login form
referer = urlparse.urlparse(request.META["HTTP_REFERER"]).path if request.META.get("HTTP_REFERER") else None
# never use the homepage as the referer
if referer in [reverse("homepage"), reverse("add_facility_student")]:
referer = None
form = LoginForm(initial={"facility": facility_id, "callback_url": referer})
return {
"form": form,
"facilities": facilities,
}
示例7: download_srt_from_3rd_party
# 需要导入模块: from settings import LOG [as 别名]
# 或者: from settings.LOG import error [as 别名]
def download_srt_from_3rd_party(*args, **kwargs):
"""Download subtitles specified by command line args"""
lang_code = kwargs.get("lang_code", None)
# if language specified, do those, if not do all
if lang_code:
srt_list_path = get_lang_map_filepath(lang_code)
try:
videos = json.loads(open(srt_list_path).read())
except:
raise LanguageCodeDoesNotExist(lang_code)
download_if_criteria_met(videos, *args, **kwargs)
else:
for filename in get_all_download_status_files():
try:
videos = json.loads(open(filename).read())
except Exception as e:
logging.error(e)
raise CommandError("Unable to open %s. The file might be corrupted. Please re-run the generate_subtitle_map command to regenerate it." % filename)
try:
kwargs["lang_code"] = os.path.basename(filename).split("_")[0]
download_if_criteria_met(videos, *args, **kwargs)
except Exception as e:
logging.error(e)
raise CommandError("Error while downloading language srts: %s" % e)
示例8: download_subtitle
# 需要导入模块: from settings import LOG [as 别名]
# 或者: from settings.LOG import error [as 别名]
def download_subtitle(youtube_id, lang_code, format="srt"):
"""
Return subtitles for YouTube ID in language specified. Return False if they do not exist. Update local JSON accordingly.
Note: srt map deals with amara, so uses ietf codes (e.g. en-us)
"""
assert format == "srt", "We only support srt download at the moment."
# srt map deals with amara, so uses ietf codes (e.g. en-us)
with open(SRTS_JSON_FILEPATH, "r") as fp:
api_info_map = json.load(fp)
# get amara id
amara_code = api_info_map.get(youtube_id).get("amara_code")
# make request
# Please see http://amara.readthedocs.org/en/latest/api.html
base_url = "https://amara.org/api2/partners/videos"
resp = make_request(
AMARA_HEADERS, "%s/%s/languages/%s/subtitles/?format=srt" % (base_url, amara_code, lang_code.lower())
)
if isinstance(resp, basestring) or not resp:
return resp
else:
# return the subtitle text, replacing empty subtitle lines with
# spaces to make the FLV player happy
try:
resp.encoding = "UTF-8"
response = (resp.text or u"").replace("\n\n\n", "\n \n\n").replace("\r\n\r\n\r\n", "\r\n \r\n\r\n")
except Exception as e:
logging.error(e)
response = "client-error"
return response
示例9: update_json
# 需要导入模块: from settings import LOG [as 别名]
# 或者: from settings.LOG import error [as 别名]
def update_json(youtube_id, lang_code, downloaded, api_response, time_of_attempt):
"""Update language_srt_map to reflect download status"""
# Open JSON file
filepath = get_lang_map_filepath(lang_code)
try:
language_srt_map = json.loads(open(filepath).read())
except Exception as e:
logging.error("Something went wrong while trying to open the json file (%s): %s" % (filepath, e))
return False
# create updated entry
entry = language_srt_map[youtube_id]
entry["downloaded"] = downloaded
entry["api_response"] = api_response
entry["last_attempt"] = time_of_attempt
if api_response == "success":
entry["last_success"] = time_of_attempt
# update full-size JSON with new information
language_srt_map[youtube_id].update(entry)
# write it to file
logging.info("File updated.")
json_file = open(filepath, "wb")
json_file.write(json.dumps(language_srt_map))
json_file.close()
return True
示例10: update_all_distributed_callback
# 需要导入模块: from settings import LOG [as 别名]
# 或者: from settings.LOG import error [as 别名]
def update_all_distributed_callback(request):
"""
"""
if request.method != "POST":
raise PermissionDenied("Only POST allowed to this URL endpoint.")
videos = json.loads(request.POST["video_logs"])
exercises = json.loads(request.POST["exercise_logs"])
user = FacilityUser.objects.get(id=request.POST["user_id"])
node_cache = get_node_cache()
# Save videos
n_videos_uploaded = 0
for video in videos:
video_id = video['video_id']
youtube_id = video['youtube_id']
# Only save video logs for videos that we recognize.
if video_id not in node_cache["Video"]:
logging.warn("Skipping unknown video %s" % video_id)
continue
try:
(vl, _) = VideoLog.get_or_initialize(user=user, video_id=video_id, youtube_id=youtube_id)
for key,val in video.iteritems():
setattr(vl, key, val)
logging.debug("Saving video log for %s: %s" % (video_id, vl))
vl.save()
n_videos_uploaded += 1
except KeyError: #
logging.error("Could not save video log for data with missing values: %s" % video)
except Exception as e:
error_message = "Unexpected error importing videos: %s" % e
return JsonResponseMessageError(error_message)
# Save exercises
n_exercises_uploaded = 0
for exercise in exercises:
# Only save video logs for videos that we recognize.
if exercise['exercise_id'] not in node_cache['Exercise']:
logging.warn("Skipping unknown video %s" % exercise['exercise_id'])
continue
try:
(el, _) = ExerciseLog.get_or_initialize(user=user, exercise_id=exercise["exercise_id"])
for key,val in exercise.iteritems():
setattr(el, key, val)
logging.debug("Saving exercise log for %s: %s" % (exercise['exercise_id'], el))
el.save()
n_exercises_uploaded += 1
except KeyError:
logging.error("Could not save exercise log for data with missing values: %s" % exercise)
except Exception as e:
error_message = "Unexpected error importing exercises: %s" % e
return JsonResponseMessageError(error_message)
return JsonResponse({"success": "Uploaded %d exercises and %d videos" % (n_exercises_uploaded, n_videos_uploaded)})
示例11: build_translations
# 需要导入模块: from settings import LOG [as 别名]
# 或者: from settings.LOG import error [as 别名]
def build_translations(project_id=settings.CROWDIN_PROJECT_ID, project_key=settings.CROWDIN_PROJECT_KEY):
"""Build latest translations into zip archive on CrowdIn."""
logging.info("Requesting that CrowdIn build a fresh zip of our translations")
request_url = "http://api.crowdin.net/api/project/%s/export?key=%s" % (project_id, project_key)
resp = requests.get(request_url)
try:
resp.raise_for_status()
except Exception as e:
logging.error(e)
示例12: test_get_exercise_load_status
# 需要导入模块: from settings import LOG [as 别名]
# 或者: from settings.LOG import error [as 别名]
def test_get_exercise_load_status(self):
for path in get_exercise_paths():
logging.debug("Testing path : " + path)
self.browser.get(self.live_server_url + path)
error_list = self.browser.execute_script("return window.js_errors;")
if error_list:
logging.error("Found JS error(s) while loading path: " + path)
for e in error_list:
logging.error(e)
self.assertFalse(error_list)
示例13: move_video_sizes_file
# 需要导入模块: from settings import LOG [as 别名]
# 或者: from settings.LOG import error [as 别名]
def move_video_sizes_file(lang_code):
lang_pack_location = os.path.join(LOCALE_ROOT, lang_code)
filename = os.path.basename(REMOTE_VIDEO_SIZE_FILEPATH)
src_path = os.path.join(lang_pack_location, filename)
dest_path = REMOTE_VIDEO_SIZE_FILEPATH
# replace the old remote_video_size json
if not os.path.exists(src_path):
logging.error("Could not find videos sizes file (%s)" % src_path)
else:
logging.debug('Moving %s to %s' % (src_path, dest_path))
shutil.move(src_path, dest_path)
示例14: sync_device_records
# 需要导入模块: from settings import LOG [as 别名]
# 或者: from settings.LOG import error [as 别名]
def sync_device_records(self):
server_counters = self.get_server_device_counters()
client_counters = self.get_client_device_counters()
devices_to_download = []
devices_to_upload = []
counters_to_download = {}
counters_to_upload = {}
for device_id in client_counters:
if device_id not in server_counters:
devices_to_upload.append(device_id)
counters_to_upload[device_id] = 0
elif client_counters[device_id] > server_counters[device_id]:
counters_to_upload[device_id] = server_counters[device_id]
for device_id in server_counters:
if device_id not in client_counters:
devices_to_download.append(device_id)
counters_to_download[device_id] = 0
elif server_counters[device_id] > client_counters[device_id]:
counters_to_download[device_id] = client_counters[device_id]
response = json.loads(self.post("device/download", {"devices": devices_to_download}).content)
# As usual, we're deserializing from the central server, so we assume that what we're getting
# is "smartly" dumbed down for us. We don't need to specify the src_version, as it's
# pre-cleaned for us.
download_results = save_serialized_models(response.get("devices", "[]"), increment_counters=False)
# BUGFIX(bcipolli) metadata only gets created if models are
# streamed; if a device is downloaded but no models are downloaded,
# metadata does not exist. Let's just force it here.
for device_id in devices_to_download: # force
try:
d = Device.objects.get(id=device_id)
except Exception as e:
logging.error("Exception locating device %s for metadata creation: %s" % (device_id, e))
continue
if not d.get_counter_position(): # this would be nonzero if the device sync'd models
d.set_counter_position(counters_to_download[device_id])
self.session.models_downloaded += download_results["saved_model_count"]
self.session.errors += download_results.has_key("error")
self.session.save()
# TODO(jamalex): upload local devices as well? only needed once we have P2P syncing
return (counters_to_download, counters_to_upload)
示例15: write_new_json
# 需要导入模块: from settings import LOG [as 别名]
# 或者: from settings.LOG import error [as 别名]
def write_new_json(subtitle_counts, data_path):
"""Write JSON to file in static/data/subtitles/"""
filename = "subtitle_counts.json"
filepath = data_path + filename
try:
current_counts = json.loads(open(filepath).read())
except Exception as e:
logging.error("Subtitle counts file appears to be corrupted (%s). Starting from scratch." % e)
current_counts = {}
current_counts.update(subtitle_counts)
logging.info("Writing fresh srt counts to %s" % filepath)
with open(filepath, 'wb') as fp:
json.dump(current_counts, fp)