Ejemplo n.º 1
0
def static_page(slug):
    # 1- load static_pages.json
    # 2- search the slug
    # 3- render appropiate md file (including language....)

    slugs = {}
    aux_text = ''
    basedir = os.path.abspath(os.path.dirname(__file__))
    data_file = os.path.join(basedir, 'static/js/large.js')

    with open(os.path.join(basedir, 'static/staticpages/static_pages.json'),
              encoding="utf-8") as file:
        slugs = json.load(file)
    if slugs:
        with open(os.path.join(
                basedir, 'static/staticpages/' + get_locale() + '/' +
                slugs[slug][get_locale()]["url"]),
                  'r',
                  encoding="utf-8") as file:
            aux_text = file.read()
            file.close()
        markdown = mistune.Markdown()
        aux_text = markdown(aux_text)
    return render_template('iroko_theme/static_pages.html',
                           title=slugs[slug][get_locale()]["title"],
                           text=aux_text)
def test_get_locale_querystring(app):
    """Test getting locales from the querystring."""
    app.config['I18N_LANGUAGES'] = [('da', 'Danish'), ('en', 'English'),
                                    ('es', 'Spanish')]
    InvenioI18N(app)

    with app.test_request_context('/?ln=da'):
        assert 'da' == get_locale()

    with app.test_request_context('/?ln=en'):
        assert 'en' == get_locale()

    with app.test_request_context('/?ln=es'):
        assert 'es' == get_locale()
def test_get_locale_headers(app):
    """Test getting locale from the headers of the request."""
    app.config['I18N_LANGUAGES'] = [('da', 'Danish'), ('en', 'English'),
                                    ('es', 'Spanish')]
    InvenioI18N(app)

    with app.test_request_context(headers=[('Accept-Language', 'da')]):
        assert 'da' == get_locale()

    with app.test_request_context(headers=[('Accept-Language', 'en')]):
        assert 'en' == get_locale()

    with app.test_request_context(headers=[('Accept-Language', 'es')]):
        assert 'es' == get_locale()
def test_get_locale_querystring(app):
    """Test getting locales from the querystring."""
    app.config['I18N_LANGUAGES'] = [('da', 'Danish'),
                                    ('en', 'English'),
                                    ('es', 'Spanish')]
    InvenioI18N(app)

    with app.test_request_context('/?ln=da'):
        assert 'da' == get_locale()

    with app.test_request_context('/?ln=en'):
        assert 'en' == get_locale()

    with app.test_request_context('/?ln=es'):
        assert 'es' == get_locale()
def test_get_locale_headers(app):
    """Test getting locale from the headers of the request."""
    app.config['I18N_LANGUAGES'] = [('da', 'Danish'),
                                    ('en', 'English'),
                                    ('es', 'Spanish')]
    InvenioI18N(app)

    with app.test_request_context(headers=[('Accept-Language', 'da')]):
        assert 'da' == get_locale()

    with app.test_request_context(headers=[('Accept-Language', 'en')]):
        assert 'en' == get_locale()

    with app.test_request_context(headers=[('Accept-Language', 'es')]):
        assert 'es' == get_locale()
Ejemplo n.º 6
0
 def ev():
     try:
         locale = get_locale()
     except:
         log.error('Exception in get_locale. Are you sure that you have added invenio_i18n to api_apps?')
         raise
     return f'{fld}.{locale}'
def test_get_locale_default(app):
    """Test getting locale by default."""
    app.config['I18N_LANGUAGES'] = [('da', 'Danish'), ('en', 'English'),
                                    ('es', 'Spanish')]
    InvenioI18N(app)

    with app.test_request_context():
        assert 'en' == get_locale()
def test_get_locale_querystring(app):
    """Test getting locales from the querystring."""
    app.config["I18N_LANGUAGES"] = [
        ("da", "Danish"),
        ("en", "English"),
        ("es", "Spanish"),
    ]
    InvenioI18N(app)

    with app.test_request_context("/?ln=da"):
        assert "da" == get_locale()

    with app.test_request_context("/?ln=en"):
        assert "en" == get_locale()

    with app.test_request_context("/?ln=es"):
        assert "es" == get_locale()
def test_get_locale_headers(app):
    """Test getting locale from the headers of the request."""
    app.config["I18N_LANGUAGES"] = [
        ("da", "Danish"),
        ("en", "English"),
        ("es", "Spanish"),
    ]
    InvenioI18N(app)

    with app.test_request_context(headers=[("Accept-Language", "da")]):
        assert "da" == get_locale()

    with app.test_request_context(headers=[("Accept-Language", "en")]):
        assert "en" == get_locale()

    with app.test_request_context(headers=[("Accept-Language", "es")]):
        assert "es" == get_locale()
def test_get_locale_default(app):
    """Test getting locale by default."""
    app.config['I18N_LANGUAGES'] = [('da', 'Danish'),
                                    ('en', 'English'),
                                    ('es', 'Spanish')]
    InvenioI18N(app)

    with app.test_request_context():
        assert 'en' == get_locale()
Ejemplo n.º 11
0
def index(form=None):
    # # print(USERPROFILES_EXTEND_SECURITY_FORMS)
    """Simplistic front page view."""
    # vocabularies = Vocabulary.query.all()
    # vocab_stats = []
    # vocab_stats.append({'records':get_record_count()})
    # records = get_record_count()
    # sources = IrokoAggs.getAggrs("source.name", 50000)
    # vocab_stats.append({'sources':str(len(sources))})
    #
    # authors = IrokoAggs.getAggrs("creators.name",50000)
    # ## print('authors'+str(authors))
    # vocab_stats.append({'authors':str(len(authors))})

    # TODO: cuando se vaya a escribir el json es agregarle la opcion w y
    # ensure_ascii=False para que las tildes y demas se pongan bien

    texts = {}
    with open(current_app.config['INIT_STATIC_JSON_PATH'] + '/' +
              get_locale() + '/texts.json',
              encoding="utf-8") as file:
        texts = json.load(file)

    faqs = {}
    if 'faq' in texts.keys():
        faqs = texts['faq']

    # texts = ''
    # with open(current_app.config['INIT_STATIC_JSON_PATH']+'/'+get_locale()+'/faqs.md',
    # 'r') as file:
    #      texts = file.read()
    #      file.close()
    # markdown = mistune.Markdown()
    # faqs = markdown(texts)

    # keywords = IrokoAggs.getAggrs("keywords",50000)
    # ## print('keywords'+str(keywords))
    # vocab_stats.append({'Keywords':str(len(keywords))})
    #
    # for vocab in vocabularies:
    #     vocab_stats.append({vocab.identifier:str(Term.query.filter_by(
    #     vocabulary_id=vocab.identifier).count())})

    if not form:
        form = ContactForm()
    if form.validate_on_submit():
        # print('Mensaje enviado')
        pass

    return render_template(
        current_app.config['THEME_FRONTPAGE_TEMPLATE'],
        vocabularies=None,
        vocab_stats=None,
        faqs=faqs,
        form=form,
        records=None,
    )
def test_get_locale_session(app):
    """Test getting locales from the current session."""
    app.config['I18N_LANGUAGES'] = [('da', 'Danish'), ('en', 'English'),
                                    ('es', 'Spanish')]
    app.secret_key = 'secret key'
    InvenioI18N(app)

    with app.test_request_context():
        session['language'] = 'da'
        assert 'da' == get_locale()

    with app.test_request_context():
        session['language'] = 'en'
        assert 'en' == get_locale()

    with app.test_request_context():
        session['language'] = 'es'
        assert 'es' == get_locale()
def test_get_locale_session(app):
    """Test getting locales from the current session."""
    app.config['I18N_LANGUAGES'] = [('da', 'Danish'),
                                    ('en', 'English'),
                                    ('es', 'Spanish')]
    app.secret_key = 'secret key'
    InvenioI18N(app)

    with app.test_request_context():
        session['language'] = 'da'
        assert 'da' == get_locale()

    with app.test_request_context():
        session['language'] = 'en'
        assert 'en' == get_locale()

    with app.test_request_context():
        session['language'] = 'es'
        assert 'es' == get_locale()
def test_get_locale_anonymous_user(app):
    """Test anonymous user locale selection by default."""
    app.secret_key = 'secret key'
    login_manager = LoginManager()
    login_manager.init_app(app)
    login_manager.login_view = 'login'
    InvenioI18N(app)

    with app.test_request_context():
        assert 'en' == get_locale()
Ejemplo n.º 15
0
def test_get_locale_anonymous_user(app):
    """Test anonymous user locale selection by default."""
    app.secret_key = 'secret key'
    login_manager = LoginManager()
    login_manager.init_app(app)
    login_manager.login_view = 'login'
    InvenioI18N(app)

    with app.test_request_context():
        assert 'en' == get_locale()
Ejemplo n.º 16
0
 def __init__(self, *args, **kwargs):
     super(InclusionForm, self).__init__()
     requeriments = {}
     choices = []
     with open(current_app.config['INIT_STATIC_JSON_PATH'] + '/' +
               get_locale() + '/inclusion_requeriments.json') as file:
         requeriments = json.load(file)
         for item in requeriments:
             choices.append((item, requeriments[item]))
     self.requeriments.choices = choices
def test_get_locale_anonymous_user(app):
    """Test anonymous user locale selection by default."""
    app.secret_key = "secret key"
    login_manager = LoginManager()
    login_manager.init_app(app)
    login_manager.login_view = "login"
    login_manager.user_loader(lambda id_: {})
    InvenioI18N(app)

    with app.test_request_context():
        assert "en" == get_locale()
def test_get_locale_default(app):
    """Test getting locale by default."""
    app.config["I18N_LANGUAGES"] = [
        ("da", "Danish"),
        ("en", "English"),
        ("es", "Spanish"),
    ]
    InvenioI18N(app)

    with app.test_request_context():
        assert "en" == get_locale()
def test_get_locale_session(app):
    """Test getting locales from the current session."""
    app.config["I18N_LANGUAGES"] = [
        ("da", "Danish"),
        ("en", "English"),
        ("es", "Spanish"),
    ]
    app.secret_key = "secret key"
    InvenioI18N(app)

    with app.test_request_context():
        session["language"] = "da"
        assert "da" == get_locale()

    with app.test_request_context():
        session["language"] = "en"
        assert "en" == get_locale()

    with app.test_request_context():
        session["language"] = "es"
        assert "es" == get_locale()
def test_get_locale_user_settings(app):
    """Test getting locales from the user settings."""
    app.config['I18N_LANGUAGES'] = [('da', 'Danish'), ('en', 'English'),
                                    ('es', 'Spanish')]
    app.secret_key = 'secret key'
    login_manager = LoginManager()
    login_manager.init_app(app)
    login_manager.login_view = 'login'
    InvenioI18N(app)

    with app.test_request_context():
        login_user(FakeUser('da'))
        assert 'da' == get_locale()

    with app.test_request_context():
        login_user(FakeUser('en'))
        assert 'en' == get_locale()

    with app.test_request_context():
        login_user(FakeUser('es'))
        assert 'es' == get_locale()
def test_get_locale_user_settings(app):
    """Test getting locales from the user settings."""
    app.config['I18N_LANGUAGES'] = [('da', 'Danish'),
                                    ('en', 'English'),
                                    ('es', 'Spanish')]
    app.secret_key = 'secret key'
    login_manager = LoginManager()
    login_manager.init_app(app)
    login_manager.login_view = 'login'
    InvenioI18N(app)

    with app.test_request_context():
        login_user(FakeUser('da'))
        assert 'da' == get_locale()

    with app.test_request_context():
        login_user(FakeUser('en'))
        assert 'en' == get_locale()

    with app.test_request_context():
        login_user(FakeUser('es'))
        assert 'es' == get_locale()
def test_get_locale_user_settings(app):
    """Test getting locales from the user settings."""
    app.config["I18N_LANGUAGES"] = [
        ("da", "Danish"),
        ("en", "English"),
        ("es", "Spanish"),
    ]
    app.secret_key = "secret key"
    login_manager = LoginManager()
    login_manager.init_app(app)
    login_manager.login_view = "login"
    InvenioI18N(app)

    with app.test_request_context():
        login_user(FakeUser("da"))
        assert "da" == get_locale()

    with app.test_request_context():
        login_user(FakeUser("en"))
        assert "en" == get_locale()

    with app.test_request_context():
        login_user(FakeUser("es"))
        assert "es" == get_locale()
Ejemplo n.º 23
0
def send_contact_email(name, email, user_message):
    language = get_locale().upper()
    client_ip = request.environ.get('HTTP_X_REAL_IP', request.remote_addr)
    send_email(
        'message from sceiba',
        sender=current_app.config['SECURITY_EMAIL_SENDER'],
        # recipients=current_app.config['ADMINS'],
        recipients=email,
        text_body=render_template('iroko_theme/email/contact_email.txt',
                                  name=name,
                                  email=email,
                                  user_message=user_message,
                                  language=language,
                                  ip=client_ip),
        html_body=render_template('iroko_theme/email/contact_email.html',
                                  name=name,
                                  email=email,
                                  user_message=user_message,
                                  language=language,
                                  ip=client_ip))