def article(self, req, form): """ Article page. Washes all the parameters and stores them in journal_defaults dict for subsequent format_elements. Passes on to logic function and eventually returns HTML. """ argd = wash_urlargd(form, {'name': (str, ""), 'issue': (str, ""), 'category': (str, ""), 'number': (str, ""), 'ln': (str, ""), } ) try: ln = wash_journal_language(argd['ln']) journal_name = wash_journal_name(ln, argd['name']) issue = wash_issue_number(ln, journal_name, argd['issue']) issue_year = issue.split('/')[1] issue_number = issue.split('/')[0] category = wash_category(ln, argd['category'], journal_name, issue_number) number = wash_article_number(ln, argd['number'], journal_name) recid = get_recid_from_legacy_number(issue, category, int(number)) except InvenioWebJournalNoJournalOnServerError, e: register_exception(req=req) return e.user_box(req)
def search(self, req, form): """ Display search interface """ argd = wash_urlargd( form, { "name": (str, ""), "issue": (str, ""), "archive_year": (str, ""), "archive_issue": (str, ""), "archive_select": (str, "False"), "archive_date": (str, ""), "archive_search": (str, "False"), "ln": (str, CFG_SITE_LANG), "verbose": (int, 0), }, ) try: # FIXME: if journal_name is empty, redirect ln = wash_journal_language(argd["ln"]) washed_journal_name = wash_journal_name(ln, argd["name"]) archive_issue = wash_issue_number(ln, washed_journal_name, argd["archive_issue"]) archive_date = wash_archive_date(ln, washed_journal_name, argd["archive_date"]) archive_select = argd["archive_select"] archive_search = argd["archive_search"] except InvenioWebJournalNoJournalOnServerError, e: register_exception(req=req) return e.user_box(req)
def search(self, req, form): """ Display search interface """ argd = wash_urlargd(form, {'name': (str, ""), 'issue': (str, ""), 'archive_year': (str, ""), 'archive_issue': (str, ""), 'archive_select': (str, "False"), 'archive_date': (str, ""), 'archive_search': (str, "False"), 'ln': (str, CFG_SITE_LANG), 'verbose': (int, 0)}) try: # FIXME: if journal_name is empty, redirect ln = wash_journal_language(argd['ln']) washed_journal_name = wash_journal_name(ln, argd['name']) archive_issue = wash_issue_number(ln, washed_journal_name, argd['archive_issue']) archive_date = wash_archive_date(ln, washed_journal_name, argd['archive_date']) archive_select = argd['archive_select'] archive_search = argd['archive_search'] except InvenioWebJournalNoJournalOnServerError, e: register_exception(req=req) return e.user_box(req)
def search(self, req, form): """ Display search interface """ argd = wash_urlargd(form, {'name': (str, ""), 'issue': (str, ""), 'archive_year': (str, ""), 'archive_issue': (str, ""), 'archive_select': (str, "False"), 'archive_date': (str, ""), 'archive_search': (str, "False"), 'ln': (str, CFG_SITE_LANG), 'verbose': (int, 0)}) try: # FIXME: if journal_name is empty, redirect ln = wash_journal_language(argd['ln']) washed_journal_name = wash_journal_name(ln, argd['name']) archive_issue = wash_issue_number(ln, washed_journal_name, argd['archive_issue']) archive_date = wash_archive_date(ln, washed_journal_name, argd['archive_date']) archive_select = argd['archive_select'] archive_search = argd['archive_search'] except InvenioWebJournalNoJournalOnServerError, e: register_exception(req=req) return e.user_box(req)
def article(self, req, form): """ Article page. Washes all the parameters and stores them in journal_defaults dict for subsequent format_elements. Passes on to logic function and eventually returns HTML. """ argd = wash_urlargd(form, {'name': (str, ""), 'issue': (str, ""), 'category': (str, ""), 'number': (str, ""), 'ln': (str, ""), } ) try: ln = wash_journal_language(argd['ln']) journal_name = wash_journal_name(ln, argd['name']) issue = wash_issue_number(ln, journal_name, argd['issue']) issue_year = issue.split('/')[1] issue_number = issue.split('/')[0] category = wash_category(ln, argd['category'], journal_name, issue_number) number = wash_article_number(ln, argd['number'], journal_name) recid = get_recid_from_legacy_number(issue, category, int(number)) except InvenioWebJournalNoJournalOnServerError, e: register_exception(req=req) return e.user_box(req)
def administrate(self, req, form): """Index page.""" argd = wash_urlargd(form, {"name": (str, ""), "ln": (str, "")}) try: ln = wash_journal_language(argd["ln"]) journal_name = wash_journal_name(ln, argd["name"]) except InvenioWebJournalNoJournalOnServerError, e: register_exception(req=req) return e.user_box(req)
def administrate(self, req, form): """Index page.""" argd = wash_urlargd(form, {'name': (str, ""), 'ln': (str, "")}) try: ln = wash_journal_language(argd['ln']) journal_name = wash_journal_name(ln, argd['name']) except InvenioWebJournalNoJournalOnServerError, e: register_exception(req=req) return e.user_box()
def contact(self, req, form): """ Display contact information for the journal. """ argd = wash_urlargd(form, {"name": (str, ""), "ln": (str, ""), "verbose": (int, 0)}) try: ln = wash_journal_language(argd["ln"]) washed_journal_name = wash_journal_name(ln, argd["name"]) except InvenioWebJournalNoJournalOnServerError, e: register_exception(req=req) return e.user_box(req)
def popup(self, req, form): """ simple pass-through function that serves as a checker for popups. """ argd = wash_urlargd(form, {"name": (str, ""), "record": (str, ""), "ln": (str, "")}) try: ln = wash_journal_language(argd["ln"]) washed_journal_name = wash_journal_name(ln, argd["name"]) record = wash_popup_record(ln, argd["record"], washed_journal_name) except InvenioWebJournalNoJournalOnServerError, e: register_exception(req=req) return e.user_box(req)
def contact(self, req, form): """ Display contact information for the journal. """ argd = wash_urlargd(form, {'name': (str, ""), 'ln': (str, ""), 'verbose': (int, 0) }) try: ln = wash_journal_language(argd['ln']) washed_journal_name = wash_journal_name(ln, argd['name']) except InvenioWebJournalNoJournalOnServerError, e: register_exception(req=req) return e.user_box(req)
def popup(self, req, form): """ simple pass-through function that serves as a checker for popups. """ argd = wash_urlargd(form, {'name': (str, ""), 'record': (str, ""), 'ln': (str, "") }) try: ln = wash_journal_language(argd['ln']) washed_journal_name = wash_journal_name(ln, argd['name']) record = wash_popup_record(ln, argd['record'], washed_journal_name) except InvenioWebJournalNoJournalOnServerError, e: register_exception(req=req) return e.user_box(req)
def index(self, req, form): """ Index page. Washes all the parameters and stores them in journal_defaults dict for subsequent format_elements. Passes on to logic function and eventually returns HTML. """ argd = wash_urlargd(form, {"name": (str, ""), "issue": (str, ""), "category": (str, ""), "ln": (str, "")}) try: ln = wash_journal_language(argd["ln"]) journal_name = wash_journal_name(ln, argd["name"]) issue_number = wash_issue_number(ln, journal_name, argd["issue"]) category = wash_category(ln, argd["category"], journal_name, issue_number) except InvenioWebJournalNoJournalOnServerError, e: register_exception(req=req) return e.user_box(req)
def __call__(self, req, form): """ Maybe resolve the final / of a directory """ path = req.uri[1:].split("/") journal_name = None journal_issue_year = None journal_issue_number = None specific_category = None category = None article_id = None if len(path) > 1: journal_name = path[1] if len(path) > 2 and path[2].isdigit(): journal_issue_year = path[2] elif len(path) > 2 and not path[2].isdigit(): specific_category = urllib.unquote(path[2]) if len(path) > 3 and path[3].isdigit(): journal_issue_number = path[3] if len(path) > 4: category = urllib.unquote(path[4]) if len(path) > 5 and path[5].isdigit(): article_id = int(path[5]) ## Support for legacy journal/[empty]?(args*) urls. There are ## these parameters only in that case argd = wash_urlargd( form, { "name": (str, ""), "issue": (str, ""), "category": (str, ""), "ln": (str, CFG_SITE_LANG), "number": (int, None), "verbose": (int, 0), }, ) if "name" in form.keys() or "issue" in form.keys() or "category" in form.keys(): ln = wash_journal_language(argd["ln"]) try: journal_name = wash_journal_name(ln, argd["name"]) except InvenioWebJournalNoJournalOnServerError, e: register_exception(req=req) return e.user_box(req) except InvenioWebJournalNoNameError, e: return e.user_box(req)
def __call__(self, req, form): """ Maybe resolve the final / of a directory """ path = req.uri[1:].split('/') journal_name = None journal_issue_year = None journal_issue_number = None specific_category = None category = None article_id = None if len(path) > 1: journal_name = path[1] if len(path) > 2 and path[2].isdigit(): journal_issue_year = path[2] elif len(path) > 2 and not path[2].isdigit(): specific_category = urllib.unquote(path[2]) if len(path) > 3 and path[3].isdigit(): journal_issue_number = path[3] if len(path) > 4: category = urllib.unquote(path[4]) if len(path) > 5 and path[5].isdigit(): article_id = int(path[5]) ## Support for legacy journal/[empty]?(args*) urls. There are ## these parameters only in that case argd = wash_urlargd(form, {'name': (str, ""), 'issue': (str, ""), 'category': (str, ""), 'ln': (str, CFG_SITE_LANG), 'number': (int, None), 'verbose': (int, 0)} ) if 'name' in form.keys() or \ 'issue' in form.keys() or \ 'category' in form.keys(): ln = wash_journal_language(argd['ln']) try: journal_name = wash_journal_name(ln, argd['name']) except InvenioWebJournalNoJournalOnServerError, e: register_exception(req=req) return e.user_box(req) except InvenioWebJournalNoNameError, e: return e.user_box(req)
def index(self, req, form): """ Index page. Washes all the parameters and stores them in journal_defaults dict for subsequent format_elements. Passes on to logic function and eventually returns HTML. """ argd = wash_urlargd(form, {'name': (str, ""), 'issue': (str, ""), 'category': (str, ""), 'ln': (str, "")} ) try: ln = wash_journal_language(argd['ln']) journal_name = wash_journal_name(ln, argd['name']) issue_number = wash_issue_number(ln, journal_name, argd['issue']) category = wash_category(ln, argd['category'], journal_name, issue_number) except InvenioWebJournalNoJournalOnServerError, e: register_exception(req=req) return e.user_box(req)
def __call__(self, req, form): """ Maybe resolve the final / of a directory """ path = req.uri[1:].split('/') journal_name = None journal_issue_year = None journal_issue_number = None category = None article_id = None if len(path) > 1: journal_name = path[1] if len(path) > 2 and path[2].isdigit(): journal_issue_year = path[2] if len(path) > 3 and path[3].isdigit(): journal_issue_number = path[3] if len(path) > 4: category = urllib.unquote(path[4]) if len(path) > 5 and path[5].isdigit(): article_id = int(path[5]) ## Support for legacy journal/[empty]?(args*) urls. There are ## these parameters only in that case argd = wash_urlargd(form, {'name': (str, ""), 'issue': (str, ""), 'category': (str, ""), 'ln': (str, CFG_SITE_LANG), 'number': (int, None), 'verbose': (int, 0)} ) if 'name' in form.keys() or \ 'issue' in form.keys() or \ 'category' in form.keys(): ln = wash_journal_language(argd['ln']) try: journal_name = wash_journal_name(ln, argd['name']) except InvenioWebJournalNoJournalOnServerError, e: register_exception(req=req) return e.user_box() except InvenioWebJournalNoNameError, e: return e.user_box()