コード例 #1
0
 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)
コード例 #2
0
 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)
コード例 #3
0
 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)
コード例 #4
0
 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)
コード例 #5
0
 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)
コード例 #6
0
 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)
コード例 #7
0
 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()
コード例 #8
0
 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)
コード例 #9
0
 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)
コード例 #10
0
 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)
コード例 #11
0
 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)
コード例 #12
0
 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)
コード例 #13
0
    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)
コード例 #14
0
    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)
コード例 #15
0
 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)
コード例 #16
0
    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()