aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app.json4
-rw-r--r--bootstrap.py4
-rw-r--r--conf.py6
-rw-r--r--conf/conf.cfg-sample6
-rw-r--r--documentation/conf.py14
-rwxr-xr-xmanager.py12
-rwxr-xr-xrunserver.py8
-rw-r--r--scripts/probes.py2
-rw-r--r--tests/controllers/article.py4
-rw-r--r--tests/controllers/feed.py4
-rw-r--r--tests/fixtures.py2
-rw-r--r--web/__init__.py (renamed from pyaggr3g470r/__init__.py)0
-rw-r--r--web/controllers/__init__.py (renamed from pyaggr3g470r/controllers/__init__.py)0
-rw-r--r--web/controllers/abstract.py (renamed from pyaggr3g470r/controllers/abstract.py)0
-rw-r--r--web/controllers/article.py (renamed from pyaggr3g470r/controllers/article.py)4
-rw-r--r--web/controllers/feed.py (renamed from pyaggr3g470r/controllers/feed.py)8
-rw-r--r--web/controllers/icon.py (renamed from pyaggr3g470r/controllers/icon.py)2
-rw-r--r--web/controllers/user.py (renamed from pyaggr3g470r/controllers/user.py)2
-rw-r--r--web/crawler.py (renamed from pyaggr3g470r/crawler.py)14
-rw-r--r--web/decorators.py (renamed from pyaggr3g470r/decorators.py)2
-rw-r--r--web/emails.py (renamed from pyaggr3g470r/emails.py)8
-rw-r--r--web/export.py (renamed from pyaggr3g470r/export.py)14
-rw-r--r--web/forms.py (renamed from pyaggr3g470r/forms.py)14
-rw-r--r--web/lib/__init__.py (renamed from pyaggr3g470r/lib/__init__.py)0
-rw-r--r--web/lib/article_utils.py (renamed from pyaggr3g470r/lib/article_utils.py)2
-rw-r--r--web/lib/crawler.py (renamed from pyaggr3g470r/lib/crawler.py)10
-rw-r--r--web/lib/feed_utils.py (renamed from pyaggr3g470r/lib/feed_utils.py)2
-rw-r--r--web/lib/utils.py (renamed from pyaggr3g470r/lib/utils.py)0
-rw-r--r--web/lib/view_utils.py (renamed from pyaggr3g470r/lib/view_utils.py)2
-rw-r--r--web/models/__init__.py (renamed from pyaggr3g470r/models/__init__.py)8
-rw-r--r--web/models/article.py (renamed from pyaggr3g470r/models/article.py)6
-rw-r--r--web/models/feed.py (renamed from pyaggr3g470r/models/feed.py)6
-rw-r--r--web/models/icon.py (renamed from pyaggr3g470r/models/icon.py)0
-rw-r--r--web/models/role.py (renamed from pyaggr3g470r/models/role.py)6
-rw-r--r--web/models/user.py (renamed from pyaggr3g470r/models/user.py)6
-rw-r--r--web/notifications.py (renamed from pyaggr3g470r/notifications.py)18
-rw-r--r--web/static/css/bootstrap-theme.css (renamed from pyaggr3g470r/static/css/bootstrap-theme.css)0
-rw-r--r--web/static/css/bootstrap-theme.css.map (renamed from pyaggr3g470r/static/css/bootstrap-theme.css.map)0
-rw-r--r--web/static/css/bootstrap-theme.min.css (renamed from pyaggr3g470r/static/css/bootstrap-theme.min.css)0
-rw-r--r--web/static/css/bootstrap.css (renamed from pyaggr3g470r/static/css/bootstrap.css)0
-rw-r--r--web/static/css/bootstrap.css.map (renamed from pyaggr3g470r/static/css/bootstrap.css.map)0
-rw-r--r--web/static/css/bootstrap.min.css (renamed from pyaggr3g470r/static/css/bootstrap.min.css)0
-rw-r--r--web/static/css/customized-bootstrap.css (renamed from pyaggr3g470r/static/css/customized-bootstrap.css)0
-rw-r--r--web/static/css/side-nav.css (renamed from pyaggr3g470r/static/css/side-nav.css)0
-rw-r--r--web/static/fonts/glyphicons-halflings-regular.eot (renamed from pyaggr3g470r/static/fonts/glyphicons-halflings-regular.eot)bin20127 -> 20127 bytes
-rw-r--r--web/static/fonts/glyphicons-halflings-regular.svg (renamed from pyaggr3g470r/static/fonts/glyphicons-halflings-regular.svg)0
-rw-r--r--web/static/fonts/glyphicons-halflings-regular.ttf (renamed from pyaggr3g470r/static/fonts/glyphicons-halflings-regular.ttf)bin45404 -> 45404 bytes
-rw-r--r--web/static/fonts/glyphicons-halflings-regular.woff (renamed from pyaggr3g470r/static/fonts/glyphicons-halflings-regular.woff)bin23424 -> 23424 bytes
-rw-r--r--web/static/fonts/glyphicons-halflings-regular.woff2 (renamed from pyaggr3g470r/static/fonts/glyphicons-halflings-regular.woff2)bin18028 -> 18028 bytes
-rw-r--r--web/static/img/favicon.png (renamed from pyaggr3g470r/static/img/favicon.png)bin6879 -> 6879 bytes
-rw-r--r--web/static/img/logo.png (renamed from pyaggr3g470r/static/img/logo.png)bin6879 -> 6879 bytes
-rw-r--r--web/static/img/pinboard.png (renamed from pyaggr3g470r/static/img/pinboard.png)bin597 -> 597 bytes
-rwxr-xr-xweb/static/img/reddit.png (renamed from pyaggr3g470r/static/img/reddit.png)bin525 -> 525 bytes
-rw-r--r--web/static/img/twitter.png (renamed from pyaggr3g470r/static/img/twitter.png)bin640 -> 640 bytes
-rw-r--r--web/static/js/articles.js (renamed from pyaggr3g470r/static/js/articles.js)0
-rw-r--r--web/static/js/bootstrap.js (renamed from pyaggr3g470r/static/js/bootstrap.js)0
-rw-r--r--web/static/js/bootstrap.min.js (renamed from pyaggr3g470r/static/js/bootstrap.min.js)0
-rw-r--r--web/static/js/feed.js (renamed from pyaggr3g470r/static/js/feed.js)0
-rw-r--r--web/static/js/jquery.js (renamed from pyaggr3g470r/static/js/jquery.js)0
-rw-r--r--web/templates/about.html (renamed from pyaggr3g470r/templates/about.html)10
-rw-r--r--web/templates/admin/create_user.html (renamed from pyaggr3g470r/templates/admin/create_user.html)0
-rw-r--r--web/templates/admin/dashboard.html (renamed from pyaggr3g470r/templates/admin/dashboard.html)0
-rw-r--r--web/templates/admin/user.html (renamed from pyaggr3g470r/templates/admin/user.html)0
-rw-r--r--web/templates/article.html (renamed from pyaggr3g470r/templates/article.html)0
-rw-r--r--web/templates/duplicates.html (renamed from pyaggr3g470r/templates/duplicates.html)0
-rw-r--r--web/templates/edit_feed.html (renamed from pyaggr3g470r/templates/edit_feed.html)0
-rw-r--r--web/templates/emails/new_account.html (renamed from pyaggr3g470r/templates/emails/new_account.html)2
-rw-r--r--web/templates/emails/new_account.txt (renamed from pyaggr3g470r/templates/emails/new_account.txt)0
-rw-r--r--web/templates/emails/new_article.html (renamed from pyaggr3g470r/templates/emails/new_article.html)0
-rw-r--r--web/templates/emails/new_article.txt (renamed from pyaggr3g470r/templates/emails/new_article.txt)0
-rw-r--r--web/templates/errors/404.html (renamed from pyaggr3g470r/templates/errors/404.html)0
-rw-r--r--web/templates/errors/500.html (renamed from pyaggr3g470r/templates/errors/500.html)0
-rw-r--r--web/templates/feed.html (renamed from pyaggr3g470r/templates/feed.html)0
-rw-r--r--web/templates/feed_list.html (renamed from pyaggr3g470r/templates/feed_list.html)0
-rw-r--r--web/templates/feeds.html (renamed from pyaggr3g470r/templates/feeds.html)0
-rw-r--r--web/templates/history.html (renamed from pyaggr3g470r/templates/history.html)0
-rw-r--r--web/templates/home.html (renamed from pyaggr3g470r/templates/home.html)0
-rw-r--r--web/templates/inactives.html (renamed from pyaggr3g470r/templates/inactives.html)0
-rw-r--r--web/templates/layout.html (renamed from pyaggr3g470r/templates/layout.html)6
-rw-r--r--web/templates/login.html (renamed from pyaggr3g470r/templates/login.html)0
-rw-r--r--web/templates/management.html (renamed from pyaggr3g470r/templates/management.html)0
-rw-r--r--web/templates/opml.xml (renamed from pyaggr3g470r/templates/opml.xml)0
-rw-r--r--web/templates/profile.html (renamed from pyaggr3g470r/templates/profile.html)0
-rw-r--r--web/templates/recover.html (renamed from pyaggr3g470r/templates/recover.html)0
-rw-r--r--web/templates/signup.html (renamed from pyaggr3g470r/templates/signup.html)0
-rw-r--r--web/translations/fr/LC_MESSAGES/messages.mo (renamed from pyaggr3g470r/translations/fr/LC_MESSAGES/messages.mo)bin17066 -> 17066 bytes
-rw-r--r--web/translations/fr/LC_MESSAGES/messages.po (renamed from pyaggr3g470r/translations/fr/LC_MESSAGES/messages.po)0
-rwxr-xr-xweb/utils.py (renamed from pyaggr3g470r/utils.py)16
-rw-r--r--web/var/english-stop-words.txt (renamed from pyaggr3g470r/var/english-stop-words.txt)0
-rw-r--r--web/var/french-stop-words.txt (renamed from pyaggr3g470r/var/french-stop-words.txt)0
-rwxr-xr-xweb/var/generate-top-words-list.sh (renamed from pyaggr3g470r/var/generate-top-words-list.sh)0
-rw-r--r--web/var/stop_words/english-stop-words-list.txt (renamed from pyaggr3g470r/var/stop_words/english-stop-words-list.txt)0
-rw-r--r--web/var/stop_words/french-stop-words-list.txt (renamed from pyaggr3g470r/var/stop_words/french-stop-words-list.txt)0
-rw-r--r--web/views/__init__.py (renamed from pyaggr3g470r/views/__init__.py)0
-rw-r--r--web/views/api/__init__.py (renamed from pyaggr3g470r/views/api/__init__.py)8
-rw-r--r--web/views/api/article.py (renamed from pyaggr3g470r/views/api/article.py)4
-rw-r--r--web/views/api/common.py (renamed from pyaggr3g470r/views/api/common.py)4
-rw-r--r--web/views/api/feed.py (renamed from pyaggr3g470r/views/api/feed.py)4
-rw-r--r--web/views/article.py (renamed from pyaggr3g470r/views/article.py)6
-rw-r--r--web/views/feed.py (renamed from pyaggr3g470r/views/feed.py)10
-rw-r--r--web/views/icon.py (renamed from pyaggr3g470r/views/icon.py)4
-rw-r--r--web/views/views.py (renamed from pyaggr3g470r/views/views.py)18
102 files changed, 146 insertions, 146 deletions
diff --git a/app.json b/app.json
index 3765c1b1..db24a165 100644
--- a/app.json
+++ b/app.json
@@ -1,12 +1,12 @@
{
- "name": "pyAggr3g470r",
+ "name": "JARR",
"description": "A news aggregator that can be deployed on Heroku.",
"keywords": [
"aggregator",
"news",
"RSS"
],
- "repository": "https://github.com/cedricbonhomme/pyAggr3g470r",
+ "repository": "https://github.com/JARR-aggregator/JARR.git",
"logo": "https://raw.githubusercontent.com/cedricbonhomme/pyAggr3g470r/master/pyaggr3g470r/static/img/logo.png",
"scripts": {
"postdeploy": "python manager.py db_create"
diff --git a/bootstrap.py b/bootstrap.py
index 6b120be8..d790ee2f 100644
--- a/bootstrap.py
+++ b/bootstrap.py
@@ -10,7 +10,7 @@ from urllib.parse import urlsplit
def set_logging(log_path, log_level=logging.INFO,
log_format='%(asctime)s %(levelname)s %(message)s'):
- logger = logging.getLogger('pyaggr3g470r')
+ logger = logging.getLogger('jarr')
formater = logging.Formatter(log_format)
handler = logging.FileHandler(log_path)
handler.setFormatter(formater)
@@ -21,7 +21,7 @@ from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
# Create Flask application
-application = Flask('pyaggr3g470r')
+application = Flask('web')
if os.environ.get('PYAGG_TESTING', False) == 'true':
application.debug = logging.DEBUG
application.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///:memory:'
diff --git a/conf.py b/conf.py
index abbc5dff..1827a7b3 100644
--- a/conf.py
+++ b/conf.py
@@ -22,8 +22,8 @@ TIME_ZONE = {
}
ON_HEROKU = int(os.environ.get('HEROKU', 0)) == 1
-DEFAULTS = {"platform_url": "https://jarr.herokuapp.com/",
- "admin_email": "root@pyAggr3g470r.localhost",
+DEFAULTS = {"platform_url": "https://JARR.herokuapp.com/",
+ "admin_email": "root@jarr.localhost",
"postmark_api_key": "",
"recaptcha_public_key": "",
"recaptcha_private_key": "",
@@ -39,7 +39,7 @@ DEFAULTS = {"platform_url": "https://jarr.herokuapp.com/",
"http_proxy": "",
"secret": "",
"enabled": "false",
- "notification_email": "pyAggr3g470r@no-reply.com",
+ "notification_email": "jarr@no-reply.com",
"tls": "false",
"ssl": "true",
"host": "0.0.0.0",
diff --git a/conf/conf.cfg-sample b/conf/conf.cfg-sample
index acd244c8..4b2229dc 100644
--- a/conf/conf.cfg-sample
+++ b/conf/conf.cfg-sample
@@ -7,7 +7,7 @@ platform_url = http://127.0.0.1:5000/
admin_email =
recaptcha_public_key =
recaptcha_private_key =
-log_path = ./pyaggr3g470r/var/pyaggr3g470r.log
+log_path = ./web/var/jarr.log
nb_worker = 5
log_level = info
[database]
@@ -16,12 +16,12 @@ database_url = postgres://pgsqluser:pgsqlpwd@127.0.0.1:5432/aggregator
crawling_method = classic
default_max_error = 6
http_proxy =
-user_agent = pyAggr3g470r (https://bitbucket.org/cedricbonhomme/pyaggr3g470r)
+user_agent = JARR (https://github.com/JARR-aggregator/JARR)
resolve_article_url = false
api_login =
api_passwd =
[notification]
-notification_email = pyAggr3g470r@no-reply.com
+notification_email = jarr@no-reply.com
host = smtp.googlemail.com
port = 465
tls = false
diff --git a/documentation/conf.py b/documentation/conf.py
index 00190f45..ed031f9a 100644
--- a/documentation/conf.py
+++ b/documentation/conf.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
-# pyAggr3g470r documentation build configuration file, created by
+# jarr documentation build configuration file, created by
# sphinx-quickstart on Fri Feb 20 07:23:42 2015.
#
# This file is execfile()d with the current directory set to its containing dir.
@@ -40,7 +40,7 @@ source_suffix = '.rst'
master_doc = 'index'
# General information about the project.
-project = u'pyAggr3g470r'
+project = u'jarr'
copyright = u'2015, Cédric Bonhomme'
# The version info for the project you're documenting, acts as replacement for
@@ -164,7 +164,7 @@ html_static_path = ['_static']
#html_file_suffix = None
# Output file base name for HTML help builder.
-htmlhelp_basename = 'pyAggr3g470rdoc'
+htmlhelp_basename = 'jarrdoc'
# -- Options for LaTeX output --------------------------------------------------
@@ -183,7 +183,7 @@ latex_elements = {
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
- ('index', 'pyAggr3g470r.tex', u'pyAggr3g470r Documentation',
+ ('index', 'jarr.tex', u'jarr Documentation',
u'Cédric Bonhomme', 'manual'),
]
@@ -213,7 +213,7 @@ latex_documents = [
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
- ('index', 'pyaggr3g470r', u'pyAggr3g470r Documentation',
+ ('index', 'jarr', u'jarr Documentation',
[u'Cédric Bonhomme'], 1)
]
@@ -227,8 +227,8 @@ man_pages = [
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
- ('index', 'pyAggr3g470r', u'pyAggr3g470r Documentation',
- u'Cédric Bonhomme', 'pyAggr3g470r', 'One line description of project.',
+ ('index', 'jarr', u'jarr Documentation',
+ u'Cédric Bonhomme', 'jarr', 'One line description of project.',
'Miscellaneous'),
]
diff --git a/manager.py b/manager.py
index 272dfc2e..86524771 100755
--- a/manager.py
+++ b/manager.py
@@ -5,7 +5,7 @@ from bootstrap import application, db, populate_g, conf
from flask.ext.script import Manager
from flask.ext.migrate import Migrate, MigrateCommand
-import pyaggr3g470r.models
+import webr.models
Migrate(application, db)
@@ -17,19 +17,19 @@ def db_empty():
"Will drop every datas stocked in db."
with application.app_context():
populate_g()
- pyaggr3g470r.models.db_empty(db)
+ jarr.models.db_empty(db)
@manager.command
def db_create():
"Will create the database from conf parameters."
with application.app_context():
populate_g()
- pyaggr3g470r.models.db_create(db)
+ jarr.models.db_create(db)
@manager.command
def fetch(limit=100, retreive_all=False):
"Crawl the feeds with the client crawler."
- from pyaggr3g470r.lib.crawler import CrawlerScheduler
+ from web.lib.crawler import CrawlerScheduler
scheduler = CrawlerScheduler(conf.API_LOGIN, conf.API_PASSWD)
scheduler.run(limit=limit, retreive_all=retreive_all)
scheduler.wait()
@@ -42,8 +42,8 @@ def fetch_asyncio(user_id, feed_id):
with application.app_context():
populate_g()
from flask import g
- from pyaggr3g470r.models import User
- from pyaggr3g470r import crawler
+ from web.models import User
+ from web import crawler
users, feed_id = [], None
try:
users = User.query.filter(User.id == int(user_id)).all()
diff --git a/runserver.py b/runserver.py
index cda0e06f..8e1e2459 100755
--- a/runserver.py
+++ b/runserver.py
@@ -1,10 +1,10 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
-# pyAggr3g470r - A Web based news aggregator.
-# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.cedricbonhomme.org
+# jarr - A Web based news aggregator.
+# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.JARR-aggregator.org
#
-# For more information : https://bitbucket.org/cedricbonhomme/pyaggr3g470r/
+# For more information : https://github.com/JARR-aggregator/JARR/
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -46,7 +46,7 @@ with application.app_context():
g.api = Api(application, prefix='/api/v2.0')
g.babel = babel
- from pyaggr3g470r import views
+ from web import views
application.register_blueprint(views.articles_bp)
application.register_blueprint(views.article_bp)
application.register_blueprint(views.feeds_bp)
diff --git a/scripts/probes.py b/scripts/probes.py
index 4c632184..94ca25fc 100644
--- a/scripts/probes.py
+++ b/scripts/probes.py
@@ -3,7 +3,7 @@ import sys
from datetime import datetime, timedelta
from flask.ext.script import Command, Option
-from pyaggr3g470r.controllers \
+from web.controllers \
import UserController, FeedController, ArticleController
DEFAULT_HEADERS = {'Content-Type': 'application/json', 'User-Agent': 'munin'}
LATE_AFTER = 60
diff --git a/tests/controllers/article.py b/tests/controllers/article.py
index 5a54e0b7..a62d1a83 100644
--- a/tests/controllers/article.py
+++ b/tests/controllers/article.py
@@ -1,6 +1,6 @@
from tests.base import BasePyaggTest
-from pyaggr3g470r.controllers import ArticleController
-from pyaggr3g470r.controllers import FeedController
+from web.controllers import ArticleController
+from web.controllers import FeedController
class ArticleControllerTest(BasePyaggTest):
diff --git a/tests/controllers/feed.py b/tests/controllers/feed.py
index 863ac0bb..6467a5a1 100644
--- a/tests/controllers/feed.py
+++ b/tests/controllers/feed.py
@@ -1,6 +1,6 @@
from tests.base import BasePyaggTest
-from pyaggr3g470r.controllers import FeedController
-from pyaggr3g470r.controllers import ArticleController
+from web.controllers import FeedController
+from web.controllers import ArticleController
class FeedControllerTest(BasePyaggTest):
diff --git a/tests/fixtures.py b/tests/fixtures.py
index 6aab645d..99f46c37 100644
--- a/tests/fixtures.py
+++ b/tests/fixtures.py
@@ -1,4 +1,4 @@
-from pyaggr3g470r.models import db_create, db_empty, User, Article, Feed
+from web.models import db_create, db_empty, User, Article, Feed
def populate_db(db):
diff --git a/pyaggr3g470r/__init__.py b/web/__init__.py
index e69de29b..e69de29b 100644
--- a/pyaggr3g470r/__init__.py
+++ b/web/__init__.py
diff --git a/pyaggr3g470r/controllers/__init__.py b/web/controllers/__init__.py
index ad77fa1d..ad77fa1d 100644
--- a/pyaggr3g470r/controllers/__init__.py
+++ b/web/controllers/__init__.py
diff --git a/pyaggr3g470r/controllers/abstract.py b/web/controllers/abstract.py
index f33d241e..f33d241e 100644
--- a/pyaggr3g470r/controllers/abstract.py
+++ b/web/controllers/abstract.py
diff --git a/pyaggr3g470r/controllers/article.py b/web/controllers/article.py
index 21b4b5e7..8b6926b7 100644
--- a/pyaggr3g470r/controllers/article.py
+++ b/web/controllers/article.py
@@ -4,8 +4,8 @@ from sqlalchemy import func
from bootstrap import db
from .abstract import AbstractController
-from pyaggr3g470r.controllers import FeedController
-from pyaggr3g470r.models import Article
+from web.controllers import FeedController
+from web.models import Article
logger = logging.getLogger(__name__)
diff --git a/pyaggr3g470r/controllers/feed.py b/web/controllers/feed.py
index 90ee6ea5..15be8663 100644
--- a/pyaggr3g470r/controllers/feed.py
+++ b/web/controllers/feed.py
@@ -1,10 +1,10 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
-# pyAggr3g470r - A Web based news aggregator.
-# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.cedricbonhomme.org
+# jarr - A Web based news aggregator.
+# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.JARR-aggregator.org
#
-# For more information : https://bitbucket.org/cedricbonhomme/pyaggr3g470r/
+# For more information : https://github.com/JARR-aggregator/JARR/
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -25,7 +25,7 @@ from datetime import datetime, timedelta
import conf
from .abstract import AbstractController
from .icon import IconController
-from pyaggr3g470r.models import Feed
+from web.models import Feed
logger = logging.getLogger(__name__)
DEFAULT_LIMIT = 5
diff --git a/pyaggr3g470r/controllers/icon.py b/web/controllers/icon.py
index 194c601c..07c4a4ef 100644
--- a/pyaggr3g470r/controllers/icon.py
+++ b/web/controllers/icon.py
@@ -1,6 +1,6 @@
import base64
import requests
-from pyaggr3g470r.models import Icon
+from web.models import Icon
from .abstract import AbstractController
diff --git a/pyaggr3g470r/controllers/user.py b/web/controllers/user.py
index c6c1d545..3f96b185 100644
--- a/pyaggr3g470r/controllers/user.py
+++ b/web/controllers/user.py
@@ -1,5 +1,5 @@
from .abstract import AbstractController
-from pyaggr3g470r.models import User
+from web.models import User
class UserController(AbstractController):
diff --git a/pyaggr3g470r/crawler.py b/web/crawler.py
index 4ebca1a3..35f3023a 100644
--- a/pyaggr3g470r/crawler.py
+++ b/web/crawler.py
@@ -1,10 +1,10 @@
#! /usr/bin/env python
# -*- coding: utf-8 -
-# pyAggr3g470r - A Web based news aggregator.
-# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.cedricbonhomme.org
+# jarr - A Web based news aggregator.
+# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.JARR-aggregator.org
#
-# For more information : https://bitbucket.org/cedricbonhomme/pyaggr3g470r/
+# For more information : https://github.com/JARR-aggregator/JARR/
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -35,10 +35,10 @@ from sqlalchemy import or_
import conf
from bootstrap import db
-from pyaggr3g470r.models import User
-from pyaggr3g470r.controllers import FeedController, ArticleController
-from pyaggr3g470r.lib.feed_utils import construct_feed_from
-from pyaggr3g470r.lib.article_utils import construct_article, extract_id
+from web.models import User
+from web.controllers import FeedController, ArticleController
+from web.lib.feed_utils import construct_feed_from
+from web.lib.article_utils import construct_article, extract_id
logger = logging.getLogger(__name__)
diff --git a/pyaggr3g470r/decorators.py b/web/decorators.py
index 9e8f9c0b..6572b9f4 100644
--- a/pyaggr3g470r/decorators.py
+++ b/web/decorators.py
@@ -8,7 +8,7 @@ from flask import g, redirect, url_for, flash
from flask.ext.babel import gettext
from flask.ext.login import login_required
-from pyaggr3g470r.models import Feed
+from web.models import Feed
def async(f):
diff --git a/pyaggr3g470r/emails.py b/web/emails.py
index 9a129718..9210c29a 100644
--- a/pyaggr3g470r/emails.py
+++ b/web/emails.py
@@ -1,10 +1,10 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
-# pyAggr3g470r - A Web based news aggregator.
-# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.cedricbonhomme.org
+# jarr - A Web based news aggregator.
+# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.JARR-aggregator.org
#
-# For more information : https://bitbucket.org/cedricbonhomme/pyaggr3g470r/
+# For more information : https://github.com/JARR-aggregator/JARR/
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -27,7 +27,7 @@ from email.mime.text import MIMEText
from postmark import PMMail
import conf
-from pyaggr3g470r.decorators import async
+from web.decorators import async
logger = logging.getLogger(__name__)
diff --git a/pyaggr3g470r/export.py b/web/export.py
index 5f54a0c1..f2eac25b 100644
--- a/pyaggr3g470r/export.py
+++ b/web/export.py
@@ -1,10 +1,10 @@
#! /usr/bin/env python
#-*- coding: utf-8 -*-
-# pyAggr3g470r - A Web based news aggregator.
-# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.cedricbonhomme.org
+# jarr - A Web based news aggregator.
+# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.JARR-aggregator.org
#
-# For more information : https://bitbucket.org/cedricbonhomme/pyaggr3g470r/
+# For more information : https://github.com/JARR-aggregator/JARR/
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -27,7 +27,7 @@ __copyright__ = "Copyright (c) Cedric Bonhomme"
__license__ = "AGPLv3"
#
-# This file contains the export functions of pyAggr3g470r. Indeed
+# This file contains the export functions of jarr. Indeed
# it is possible to export the database of articles in different formats:
# - simple HTML webzine;
# - text file.
@@ -42,10 +42,10 @@ from datetime import datetime
from flask import jsonify
import conf
-from pyaggr3g470r import models
+from web import models
-def HTML_HEADER(title="pyAggr3g470r", css="./style.css"):
+def HTML_HEADER(title="jarr", css="./style.css"):
return """<!DOCTYPE html>
<html lang="en-US">
<head>
@@ -57,7 +57,7 @@ def HTML_HEADER(title="pyAggr3g470r", css="./style.css"):
HTML_FOOTER = """<hr />
<p>This archive has been generated with
-<a href="https://bitbucket.org/cedricbonhomme/pyaggr3g470r">pyAggr3g470r</a>.
+<a href="https://github.com/JARR-aggregator/JARR">jarr</a>.
A software under AGPLv3 license.
You are welcome to copy, modify or redistribute the source code according to the
<a href="https://www.gnu.org/licenses/agpl-3.0.txt">AGPLv3</a> license.</p>
diff --git a/pyaggr3g470r/forms.py b/web/forms.py
index 0998c2e6..447a54e9 100644
--- a/pyaggr3g470r/forms.py
+++ b/web/forms.py
@@ -1,10 +1,10 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
-# pyAggr3g470r - A Web based news aggregator.
-# Copyright (C) 2010-2013 Cédric Bonhomme - https://www.cedricbonhomme.org
+# jarr - A Web based news aggregator.
+# Copyright (C) 2010-2013 Cédric Bonhomme - https://www.JARR-aggregator.org
#
-# For more information : http://bitbucket.org/cedricbonhomme/pyaggr3g470r/
+# For more information : http://github.com/JARR-aggregator/JARR/
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -35,12 +35,12 @@ from wtforms import TextField, TextAreaField, PasswordField, BooleanField, \
from flask.ext.wtf.html5 import EmailField
from flask_wtf import RecaptchaField
-from pyaggr3g470r import utils
-from pyaggr3g470r.models import User
+from web import utils
+from web.models import User
class SignupForm(Form):
"""
- Sign up form (registration to pyAggr3g470r).
+ Sign up form (registration to jarr).
"""
nickname = TextField(lazy_gettext("Nickname"),
[validators.Required(lazy_gettext("Please enter your nickname."))])
@@ -80,7 +80,7 @@ class RedirectForm(Form):
class SigninForm(RedirectForm):
"""
- Sign in form (connection to pyAggr3g470r).
+ Sign in form (connection to jarr).
"""
email = EmailField("Email", [validators.Length(min=6, max=35),
validators.Required(lazy_gettext("Please enter your email address."))])
diff --git a/pyaggr3g470r/lib/__init__.py b/web/lib/__init__.py
index e69de29b..e69de29b 100644
--- a/pyaggr3g470r/lib/__init__.py
+++ b/web/lib/__init__.py
diff --git a/pyaggr3g470r/lib/article_utils.py b/web/lib/article_utils.py
index dbe29659..02ca2cd1 100644
--- a/pyaggr3g470r/lib/article_utils.py
+++ b/web/lib/article_utils.py
@@ -4,7 +4,7 @@ import dateutil.parser
from datetime import datetime
import conf
-from pyaggr3g470r.lib.utils import to_hash
+from web.lib.utils import to_hash
logger = logging.getLogger(__name__)
diff --git a/pyaggr3g470r/lib/crawler.py b/web/lib/crawler.py
index 62d41494..90a268e8 100644
--- a/pyaggr3g470r/lib/crawler.py
+++ b/web/lib/crawler.py
@@ -22,9 +22,9 @@ from functools import wraps
from time import strftime, gmtime
from concurrent.futures import ThreadPoolExecutor
from requests_futures.sessions import FuturesSession
-from pyaggr3g470r.lib.utils import default_handler, to_hash
-from pyaggr3g470r.lib.feed_utils import construct_feed_from
-from pyaggr3g470r.lib.article_utils import extract_id, construct_article
+from web.lib.utils import default_handler, to_hash
+from web.lib.feed_utils import construct_feed_from
+from web.lib.article_utils import extract_id, construct_article
logger = logging.getLogger(__name__)
logging.captureWarnings(True)
@@ -52,7 +52,7 @@ class AbstractCrawler:
auth=self.auth, data=json.dumps(data,
default=default_handler),
headers={'Content-Type': 'application/json',
- 'User-Agent': 'pyaggr3g470r'})
+ 'User-Agent': 'jarr'})
def wait(self, max_wait=300, checks=5, wait_for=2):
checked, second_waited = 0, 0
@@ -217,7 +217,7 @@ class CrawlerScheduler(AbstractCrawler):
def prepare_headers(self, feed):
"""For a known feed, will construct some header dictionnary"""
- headers = {'User-Agent': 'pyaggr3g470r/crawler'}
+ headers = {'User-Agent': 'jarr/crawler'}
if feed.get('last_modified'):
headers['If-Modified-Since'] = feed['last_modified']
if feed.get('etag') and 'pyagg' not in feed['etag']:
diff --git a/pyaggr3g470r/lib/feed_utils.py b/web/lib/feed_utils.py
index aa9db29c..f39fe693 100644
--- a/pyaggr3g470r/lib/feed_utils.py
+++ b/web/lib/feed_utils.py
@@ -4,7 +4,7 @@ import requests
import feedparser
from bs4 import BeautifulSoup, SoupStrainer
-from pyaggr3g470r.lib.utils import try_keys, try_get_icon_url, rebuild_url
+from web.lib.utils import try_keys, try_get_icon_url, rebuild_url
logger = logging.getLogger(__name__)
diff --git a/pyaggr3g470r/lib/utils.py b/web/lib/utils.py
index aa552a12..aa552a12 100644
--- a/pyaggr3g470r/lib/utils.py
+++ b/web/lib/utils.py
diff --git a/pyaggr3g470r/lib/view_utils.py b/web/lib/view_utils.py
index 0cfe62c4..d4c119da 100644
--- a/pyaggr3g470r/lib/view_utils.py
+++ b/web/lib/view_utils.py
@@ -1,6 +1,6 @@
from functools import wraps
from flask import request, Response, make_response
-from pyaggr3g470r.lib.utils import to_hash
+from web.lib.utils import to_hash
def etag_match(func):
diff --git a/pyaggr3g470r/models/__init__.py b/web/models/__init__.py
index b578094c..54168279 100644
--- a/pyaggr3g470r/models/__init__.py
+++ b/web/models/__init__.py
@@ -1,10 +1,10 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
-# pyAggr3g470r - A Web based news aggregator.
-# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.cedricbonhomme.org
+# jarr - A Web based news aggregator.
+# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.JARR-aggregator.org
#
-# For more information : https://bitbucket.org/cedricbonhomme/pyaggr3g470r/
+# For more information : https://github.com/JARR-aggregator/JARR/
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -92,7 +92,7 @@ def db_create(db):
user1 = User(nickname="admin",
email=os.environ.get("ADMIN_EMAIL",
- "root@pyAggr3g470r.localhost"),
+ "root@jarr.localhost"),
pwdhash=generate_password_hash(
os.environ.get("ADMIN_PASSWORD", "password")),
activation_key="")
diff --git a/pyaggr3g470r/models/article.py b/web/models/article.py
index c98164d0..c25d09d9 100644
--- a/pyaggr3g470r/models/article.py
+++ b/web/models/article.py
@@ -1,10 +1,10 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
-# pyAggr3g470r - A Web based news aggregator.
-# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.cedricbonhomme.org
+# jarr - A Web based news aggregator.
+# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.JARR-aggregator.org
#
-# For more information : https://bitbucket.org/cedricbonhomme/pyaggr3g470r
+# For more information : https://github.com/JARR-aggregator/JARR
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
diff --git a/pyaggr3g470r/models/feed.py b/web/models/feed.py
index 07b0fc99..59456a7f 100644
--- a/pyaggr3g470r/models/feed.py
+++ b/web/models/feed.py
@@ -1,10 +1,10 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
-# pyAggr3g470r - A Web based news aggregator.
-# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.cedricbonhomme.org
+# jarr - A Web based news aggregator.
+# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.JARR-aggregator.org
#
-# For more information : https://bitbucket.org/cedricbonhomme/pyaggr3g470r/
+# For more information : https://github.com/JARR-aggregator/JARR/
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
diff --git a/pyaggr3g470r/models/icon.py b/web/models/icon.py
index 22ef1164..22ef1164 100644
--- a/pyaggr3g470r/models/icon.py
+++ b/web/models/icon.py
diff --git a/pyaggr3g470r/models/role.py b/web/models/role.py
index f5a18fdc..a9184d64 100644
--- a/pyaggr3g470r/models/role.py
+++ b/web/models/role.py
@@ -1,10 +1,10 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
-# pyAggr3g470r - A Web based news aggregator.
-# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.cedricbonhomme.org
+# jarr - A Web based news aggregator.
+# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.JARR-aggregator.org
#
-# For more information : https://bitbucket.org/cedricbonhomme/pyaggr3g470r/
+# For more information : https://github.com/JARR-aggregator/JARR/
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
diff --git a/pyaggr3g470r/models/user.py b/web/models/user.py
index c3476afc..c5e70036 100644
--- a/pyaggr3g470r/models/user.py
+++ b/web/models/user.py
@@ -1,10 +1,10 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
-# pyAggr3g470r - A Web based news aggregator.
-# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.cedricbonhomme.org
+# jarr - A Web based news aggregator.
+# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.JARR-aggregator.org
#
-# For more information : https://bitbucket.org/cedricbonhomme/pyaggr3g470r/
+# For more information : https://github.com/JARR-aggregator/JARR/
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
diff --git a/pyaggr3g470r/notifications.py b/web/notifications.py
index 006aa594..6f920672 100644
--- a/pyaggr3g470r/notifications.py
+++ b/web/notifications.py
@@ -1,10 +1,10 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
-# pyAggr3g470r - A Web based news aggregator.
-# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.cedricbonhomme.org
+# jarr - A Web based news aggregator.
+# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.JARR-aggregator.org
#
-# For more information : https://bitbucket.org/cedricbonhomme/pyaggr3g470r/
+# For more information : https://github.com/JARR-aggregator/JARR/
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -20,14 +20,14 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import conf
-from pyaggr3g470r import emails
+from web import emails
def information_message(subject, plaintext):
"""
Send an information message to the users of the platform.
"""
- from pyaggr3g470r.models import User
+ from web.models import User
users = User.query.all()
# Only send email for activated accounts.
user_emails = [user.email for user in users if user.activation_key == ""]
@@ -44,7 +44,7 @@ def new_account_notification(user):
plaintext = """Hello,\n\nYour account has been created. Click on the following link to confirm it:\n%s\n\nSee you,""" % \
(conf.PLATFORM_URL + 'confirm_account/' + user.activation_key)
emails.send(to=user.email, bcc=conf.NOTIFICATION_EMAIL,
- subject="[pyAggr3g470r] Account creation", plaintext=plaintext)
+ subject="[jarr] Account creation", plaintext=plaintext)
def new_account_activation(user):
"""
@@ -53,7 +53,7 @@ def new_account_activation(user):
plaintext = """Hello,\n\nYour account has been activated. You can now connect to the platform:\n%s\n\nSee you,""" % \
(conf.PLATFORM_URL)
emails.send(to=user.email, bcc=conf.NOTIFICATION_EMAIL,
- subject="[pyAggr3g470r] Account activated", plaintext=plaintext)
+ subject="[jarr] Account activated", plaintext=plaintext)
def new_password_notification(user, password):
"""
@@ -61,7 +61,7 @@ def new_password_notification(user, password):
"""
plaintext = """Hello,\n\nA new password has been generated at your request:\n\n%s""" % \
(password, )
- plaintext += "\n\nIt is advised to replace it as soon as connected to pyAggr3g470r.\n\nSee you,"
+ plaintext += "\n\nIt is advised to replace it as soon as connected to jarr.\n\nSee you,"
emails.send(to=user.email,
bcc=conf.NOTIFICATION_EMAIL,
- subject="[pyAggr3g470r] New password", plaintext=plaintext)
+ subject="[jarr] New password", plaintext=plaintext)
diff --git a/pyaggr3g470r/static/css/bootstrap-theme.css b/web/static/css/bootstrap-theme.css
index b0fdfcbf..b0fdfcbf 100644
--- a/pyaggr3g470r/static/css/bootstrap-theme.css
+++ b/web/static/css/bootstrap-theme.css
diff --git a/pyaggr3g470r/static/css/bootstrap-theme.css.map b/web/static/css/bootstrap-theme.css.map
index 5a12d631..5a12d631 100644
--- a/pyaggr3g470r/static/css/bootstrap-theme.css.map
+++ b/web/static/css/bootstrap-theme.css.map
diff --git a/pyaggr3g470r/static/css/bootstrap-theme.min.css b/web/static/css/bootstrap-theme.min.css
index cefa3d1a..cefa3d1a 100644
--- a/pyaggr3g470r/static/css/bootstrap-theme.min.css
+++ b/web/static/css/bootstrap-theme.min.css
diff --git a/pyaggr3g470r/static/css/bootstrap.css b/web/static/css/bootstrap.css
index 686809a5..686809a5 100644
--- a/pyaggr3g470r/static/css/bootstrap.css
+++ b/web/static/css/bootstrap.css
diff --git a/pyaggr3g470r/static/css/bootstrap.css.map b/web/static/css/bootstrap.css.map
index 2fd84f36..2fd84f36 100644
--- a/pyaggr3g470r/static/css/bootstrap.css.map
+++ b/web/static/css/bootstrap.css.map
diff --git a/pyaggr3g470r/static/css/bootstrap.min.css b/web/static/css/bootstrap.min.css
index cd1c616a..cd1c616a 100644
--- a/pyaggr3g470r/static/css/bootstrap.min.css
+++ b/web/static/css/bootstrap.min.css
diff --git a/pyaggr3g470r/static/css/customized-bootstrap.css b/web/static/css/customized-bootstrap.css
index 9f3febfc..9f3febfc 100644
--- a/pyaggr3g470r/static/css/customized-bootstrap.css
+++ b/web/static/css/customized-bootstrap.css
diff --git a/pyaggr3g470r/static/css/side-nav.css b/web/static/css/side-nav.css
index 5786bffa..5786bffa 100644
--- a/pyaggr3g470r/static/css/side-nav.css
+++ b/web/static/css/side-nav.css
diff --git a/pyaggr3g470r/static/fonts/glyphicons-halflings-regular.eot b/web/static/fonts/glyphicons-halflings-regular.eot
index b93a4953..b93a4953 100644
--- a/pyaggr3g470r/static/fonts/glyphicons-halflings-regular.eot
+++ b/web/static/fonts/glyphicons-halflings-regular.eot
Binary files differ
diff --git a/pyaggr3g470r/static/fonts/glyphicons-halflings-regular.svg b/web/static/fonts/glyphicons-halflings-regular.svg
index 94fb5490..94fb5490 100644
--- a/pyaggr3g470r/static/fonts/glyphicons-halflings-regular.svg
+++ b/web/static/fonts/glyphicons-halflings-regular.svg
diff --git a/pyaggr3g470r/static/fonts/glyphicons-halflings-regular.ttf b/web/static/fonts/glyphicons-halflings-regular.ttf
index 1413fc60..1413fc60 100644
--- a/pyaggr3g470r/static/fonts/glyphicons-halflings-regular.ttf
+++ b/web/static/fonts/glyphicons-halflings-regular.ttf
Binary files differ
diff --git a/pyaggr3g470r/static/fonts/glyphicons-halflings-regular.woff b/web/static/fonts/glyphicons-halflings-regular.woff
index 9e612858..9e612858 100644
--- a/pyaggr3g470r/static/fonts/glyphicons-halflings-regular.woff
+++ b/web/static/fonts/glyphicons-halflings-regular.woff
Binary files differ
diff --git a/pyaggr3g470r/static/fonts/glyphicons-halflings-regular.woff2 b/web/static/fonts/glyphicons-halflings-regular.woff2
index 64539b54..64539b54 100644
--- a/pyaggr3g470r/static/fonts/glyphicons-halflings-regular.woff2
+++ b/web/static/fonts/glyphicons-halflings-regular.woff2
Binary files differ
diff --git a/pyaggr3g470r/static/img/favicon.png b/web/static/img/favicon.png
index d4d38473..d4d38473 100644
--- a/pyaggr3g470r/static/img/favicon.png
+++ b/web/static/img/favicon.png
Binary files differ
diff --git a/pyaggr3g470r/static/img/logo.png b/web/static/img/logo.png
index d4d38473..d4d38473 100644
--- a/pyaggr3g470r/static/img/logo.png
+++ b/web/static/img/logo.png
Binary files differ
diff --git a/pyaggr3g470r/static/img/pinboard.png b/web/static/img/pinboard.png
index 6dddc10b..6dddc10b 100644
--- a/pyaggr3g470r/static/img/pinboard.png
+++ b/web/static/img/pinboard.png
Binary files differ
diff --git a/pyaggr3g470r/static/img/reddit.png b/web/static/img/reddit.png
index 2d615f2a..2d615f2a 100755
--- a/pyaggr3g470r/static/img/reddit.png
+++ b/web/static/img/reddit.png
Binary files differ
diff --git a/pyaggr3g470r/static/img/twitter.png b/web/static/img/twitter.png
index fc11c4ce..fc11c4ce 100644
--- a/pyaggr3g470r/static/img/twitter.png
+++ b/web/static/img/twitter.png
Binary files differ
diff --git a/pyaggr3g470r/static/js/articles.js b/web/static/js/articles.js
index 350723a4..350723a4 100644
--- a/pyaggr3g470r/static/js/articles.js
+++ b/web/static/js/articles.js
diff --git a/pyaggr3g470r/static/js/bootstrap.js b/web/static/js/bootstrap.js
index 1c88b71e..1c88b71e 100644
--- a/pyaggr3g470r/static/js/bootstrap.js
+++ b/web/static/js/bootstrap.js
diff --git a/pyaggr3g470r/static/js/bootstrap.min.js b/web/static/js/bootstrap.min.js
index c8f82e59..c8f82e59 100644
--- a/pyaggr3g470r/static/js/bootstrap.min.js
+++ b/web/static/js/bootstrap.min.js
diff --git a/pyaggr3g470r/static/js/feed.js b/web/static/js/feed.js
index a2347286..a2347286 100644
--- a/pyaggr3g470r/static/js/feed.js
+++ b/web/static/js/feed.js
diff --git a/pyaggr3g470r/static/js/jquery.js b/web/static/js/jquery.js
index e5ace116..e5ace116 100644
--- a/pyaggr3g470r/static/js/jquery.js
+++ b/web/static/js/jquery.js
diff --git a/pyaggr3g470r/templates/about.html b/web/templates/about.html
index 884de644..bb2b7e58 100644
--- a/pyaggr3g470r/templates/about.html
+++ b/web/templates/about.html
@@ -4,10 +4,10 @@
<div class="well">
<h1>{{ _('About') }}</h1>
<p>
- {{ _('pyAggr3g470r is a news aggregator platform and can be shared between several users.') }}
- {{ _('You can easily install pyAggr3g470r on your server.') }}
+ {{ _('JARR is a news aggregator platform and can be shared between several users.') }}
+ {{ _('You can easily install JARR on your server.') }}
{{ _('Alternatively, you can deploy your own copy using this button:') }}</p>
- <a class="reference external image-reference" href="https://heroku.com/deploy?template=https://github.com/cedricbonhomme/pyAggr3g470r"><img alt="https://www.herokucdn.com/deploy/button.png" src="https://www.herokucdn.com/deploy/button.png" /></a></p>
+ <a class="reference external image-reference" href="https://heroku.com/deploy?template=https://github.com/cedricbonhomme/JARR"><img alt="https://www.herokucdn.com/deploy/button.png" src="https://www.herokucdn.com/deploy/button.png" /></a></p>
<p>{{ _('This software is under AGPLv3 license. You are welcome to copy, modify or
redistribute the <a href="https://bitbucket.org/cedricbonhomme/pyaggr3g470r">source code</a>
according to the <a href="https://www.gnu.org/licenses/agpl-3.0.html">Affero GPL</a> license.') }}</p>
@@ -18,11 +18,11 @@
<p>{{ _('If you have any problem, <a href="http://wiki.cedricbonhomme.org/contact">contact</a> the administrator.') }}</p>
<p>{{ _('The documentation of the RESTful API is <a href="https://pyaggr3g470r.readthedocs.org/en/latest/web-services.html">here</a>.') }}</p>
<p>{{ _('You can subscribe to new feeds with a bookmarklet. Drag the following button to your browser bookmarks.') }}</p>
- {{ _('<a class="btn btn-default" href="%(bookmarklet)s" rel="bookmark">Subscribe to this feed using pyAggr3g470r</a>', bookmarklet='javascript:window.location="%s?url="+encodeURIComponent(document.location)' % url_for('feed.bookmarklet', _external=True)) }}
+ {{ _('<a class="btn btn-default" href="%(bookmarklet)s" rel="bookmark">Subscribe to this feed using JARR</a>', bookmarklet='javascript:window.location="%s?url="+encodeURIComponent(document.location)' % url_for('feed.bookmarklet', _external=True)) }}
</div>
<div class="well">
<h1>{{ _('Donation') }}</h1>
- <p>{{ _('If you wish and if you like pyAggr3g470r, you can donate via bitcoin <a href="https://blockexplorer.com/address/1GVmhR9fbBeEh7rP1qNq76jWArDdDQ3otZ">1GVmhR9fbBeEh7rP1qNq76jWArDdDQ3otZ</a>. Thank you!') }}</p>
+ <p>{{ _('If you wish and if you like JARR, you can donate via bitcoin <a href="https://blockexplorer.com/address/1GVmhR9fbBeEh7rP1qNq76jWArDdDQ3otZ">1GVmhR9fbBeEh7rP1qNq76jWArDdDQ3otZ</a>. Thank you!') }}</p>
</div>
</div><!-- /.container -->
{% endblock %}
diff --git a/pyaggr3g470r/templates/admin/create_user.html b/web/templates/admin/create_user.html
index 64387dce..64387dce 100644
--- a/pyaggr3g470r/templates/admin/create_user.html
+++ b/web/templates/admin/create_user.html
diff --git a/pyaggr3g470r/templates/admin/dashboard.html b/web/templates/admin/dashboard.html
index 25bd3883..25bd3883 100644
--- a/pyaggr3g470r/templates/admin/dashboard.html
+++ b/web/templates/admin/dashboard.html
diff --git a/pyaggr3g470r/templates/admin/user.html b/web/templates/admin/user.html
index d1e08c0d..d1e08c0d 100644
--- a/pyaggr3g470r/templates/admin/user.html
+++ b/web/templates/admin/user.html
diff --git a/pyaggr3g470r/templates/article.html b/web/templates/article.html
index b1f950b4..b1f950b4 100644
--- a/pyaggr3g470r/templates/article.html
+++ b/web/templates/article.html
diff --git a/pyaggr3g470r/templates/duplicates.html b/web/templates/duplicates.html
index 32fbdf9a..32fbdf9a 100644
--- a/pyaggr3g470r/templates/duplicates.html
+++ b/web/templates/duplicates.html
diff --git a/pyaggr3g470r/templates/edit_feed.html b/web/templates/edit_feed.html
index d1e45b0e..d1e45b0e 100644
--- a/pyaggr3g470r/templates/edit_feed.html
+++ b/web/templates/edit_feed.html
diff --git a/pyaggr3g470r/templates/emails/new_account.html b/web/templates/emails/new_account.html
index f6139507..5b173e7e 100644
--- a/pyaggr3g470r/templates/emails/new_account.html
+++ b/web/templates/emails/new_account.html
@@ -1,7 +1,7 @@
<p>Hello {{ user.firstname }} {{ user.lastname }},</p>
<p>An account has been created for you.
-You can now access the <a href="{{ platform_url }}">pyAggr3g470r platform</a>.
+You can now access the <a href="{{ platform_url }}">JARR platform</a>.
Your login is your e-mail address and your password is:</p>
<p><b>{{ password }}</b></p>
diff --git a/pyaggr3g470r/templates/emails/new_account.txt b/web/templates/emails/new_account.txt
index 6397f502..6397f502 100644
--- a/pyaggr3g470r/templates/emails/new_account.txt
+++ b/web/templates/emails/new_account.txt
diff --git a/pyaggr3g470r/templates/emails/new_article.html b/web/templates/emails/new_article.html
index 5a6b7c4a..5a6b7c4a 100644
--- a/pyaggr3g470r/templates/emails/new_article.html
+++ b/web/templates/emails/new_article.html
diff --git a/pyaggr3g470r/templates/emails/new_article.txt b/web/templates/emails/new_article.txt
index 9b800855..9b800855 100644
--- a/pyaggr3g470r/templates/emails/new_article.txt
+++ b/web/templates/emails/new_article.txt
diff --git a/pyaggr3g470r/templates/errors/404.html b/web/templates/errors/404.html
index c64a2be8..c64a2be8 100644
--- a/pyaggr3g470r/templates/errors/404.html
+++ b/web/templates/errors/404.html
diff --git a/pyaggr3g470r/templates/errors/500.html b/web/templates/errors/500.html
index 417fc0c7..417fc0c7 100644
--- a/pyaggr3g470r/templates/errors/500.html
+++ b/web/templates/errors/500.html
diff --git a/pyaggr3g470r/templates/feed.html b/web/templates/feed.html
index c421a411..c421a411 100644
--- a/pyaggr3g470r/templates/feed.html
+++ b/web/templates/feed.html
diff --git a/pyaggr3g470r/templates/feed_list.html b/web/templates/feed_list.html
index c5cadab0..c5cadab0 100644
--- a/pyaggr3g470r/templates/feed_list.html
+++ b/web/templates/feed_list.html
diff --git a/pyaggr3g470r/templates/feeds.html b/web/templates/feeds.html
index 9ba16359..9ba16359 100644
--- a/pyaggr3g470r/templates/feeds.html
+++ b/web/templates/feeds.html
diff --git a/pyaggr3g470r/templates/history.html b/web/templates/history.html
index 6be54d71..6be54d71 100644
--- a/pyaggr3g470r/templates/history.html
+++ b/web/templates/history.html
diff --git a/pyaggr3g470r/templates/home.html b/web/templates/home.html
index 86d96e94..86d96e94 100644
--- a/pyaggr3g470r/templates/home.html
+++ b/web/templates/home.html
diff --git a/pyaggr3g470r/templates/inactives.html b/web/templates/inactives.html
index eb546eca..eb546eca 100644
--- a/pyaggr3g470r/templates/inactives.html
+++ b/web/templates/inactives.html
diff --git a/pyaggr3g470r/templates/layout.html b/web/templates/layout.html
index 6b29716b..37a101d9 100644
--- a/pyaggr3g470r/templates/layout.html
+++ b/web/templates/layout.html
@@ -4,9 +4,9 @@
{% block head %}
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="description" content="pyAggr3g470r is a web-based news aggregator." />
+ <meta name="description" content="JARR is a web-based news aggregator." />
<meta name="author" content="" />
- <title>pyAggr3g470r{% if head_titles %} - {{ ' - '.join(head_titles) }}{% endif %}</title>
+ <title>JARR{% if head_titles %} - {{ ' - '.join(head_titles) }}{% endif %}</title>
<link rel="shortcut icon" href="{{ url_for('static', filename='img/favicon.png') }}" />
<!-- Bootstrap core CSS -->
<link href="{{ url_for('static', filename='css/bootstrap.css') }}" rel="stylesheet" media="screen" />
@@ -25,7 +25,7 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
- <a class="navbar-brand" href="{{ url_for("home") }}">pyAggr3g470r</a>
+ <a class="navbar-brand" href="{{ url_for("home") }}">JARR</a>
{% if head_titles %}
<p class="navbar-text" style="max-height: 20px; overflow: hidden">
{{ " - ".join(head_titles) }}
diff --git a/pyaggr3g470r/templates/login.html b/web/templates/login.html
index c37d6937..c37d6937 100644
--- a/pyaggr3g470r/templates/login.html
+++ b/web/templates/login.html
diff --git a/pyaggr3g470r/templates/management.html b/web/templates/management.html
index 72259551..72259551 100644
--- a/pyaggr3g470r/templates/management.html
+++ b/web/templates/management.html
diff --git a/pyaggr3g470r/templates/opml.xml b/web/templates/opml.xml
index 96fe66f5..96fe66f5 100644
--- a/pyaggr3g470r/templates/opml.xml
+++ b/web/templates/opml.xml
diff --git a/pyaggr3g470r/templates/profile.html b/web/templates/profile.html
index acd593b2..acd593b2 100644
--- a/pyaggr3g470r/templates/profile.html
+++ b/web/templates/profile.html
diff --git a/pyaggr3g470r/templates/recover.html b/web/templates/recover.html
index c1176d55..c1176d55 100644
--- a/pyaggr3g470r/templates/recover.html
+++ b/web/templates/recover.html
diff --git a/pyaggr3g470r/templates/signup.html b/web/templates/signup.html
index 3962c42a..3962c42a 100644
--- a/pyaggr3g470r/templates/signup.html
+++ b/web/templates/signup.html
diff --git a/pyaggr3g470r/translations/fr/LC_MESSAGES/messages.mo b/web/translations/fr/LC_MESSAGES/messages.mo
index 52b79281..52b79281 100644
--- a/pyaggr3g470r/translations/fr/LC_MESSAGES/messages.mo
+++ b/web/translations/fr/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/pyaggr3g470r/translations/fr/LC_MESSAGES/messages.po b/web/translations/fr/LC_MESSAGES/messages.po
index 17ff452c..17ff452c 100644
--- a/pyaggr3g470r/translations/fr/LC_MESSAGES/messages.po
+++ b/web/translations/fr/LC_MESSAGES/messages.po
diff --git a/pyaggr3g470r/utils.py b/web/utils.py
index bcea5109..91e2bd9f 100755
--- a/pyaggr3g470r/utils.py
+++ b/web/utils.py
@@ -1,10 +1,10 @@
#! /usr/bin/env python
#-*- coding: utf-8 -*-
-# pyAggr3g470r - A Web based news aggregator.
-# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.cedricbonhomme.org
+# jarr - A Web based news aggregator.
+# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.JARR-aggregator.org
#
-# For more information : https://bitbucket.org/cedricbonhomme/pyaggr3g470r
+# For more information : https://github.com/JARR-aggregator/JARR
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -59,8 +59,8 @@ from flask import request
import conf
from flask import g
from bootstrap import application as app, db
-from pyaggr3g470r import controllers
-from pyaggr3g470r.models import User, Feed, Article
+from web import controllers
+from web.models import User, Feed, Article
logger = logging.getLogger(__name__)
@@ -283,7 +283,7 @@ def load_stop_words():
"""
Load the stop words and return them in a list.
"""
- stop_words_lists = glob.glob('./pyaggr3g470r/var/stop_words/*.txt')
+ stop_words_lists = glob.glob('./JARR/var/stop_words/*.txt')
stop_words = []
for stop_wods_list in stop_words_lists:
@@ -356,5 +356,5 @@ def search_feed(url):
return None
if __name__ == "__main__":
- import_opml("root@pyAggr3g470r.localhost", "./var/feeds_test.opml")
- #import_opml("root@pyAggr3g470r.localhost", "./var/pyAggr3g470r.opml")
+ import_opml("root@jarr.localhost", "./var/feeds_test.opml")
+ #import_opml("root@jarr.localhost", "./var/JARR.opml")
diff --git a/pyaggr3g470r/var/english-stop-words.txt b/web/var/english-stop-words.txt
index 497a1f96..497a1f96 100644
--- a/pyaggr3g470r/var/english-stop-words.txt
+++ b/web/var/english-stop-words.txt
diff --git a/pyaggr3g470r/var/french-stop-words.txt b/web/var/french-stop-words.txt
index 08a2f5d7..08a2f5d7 100644
--- a/pyaggr3g470r/var/french-stop-words.txt
+++ b/web/var/french-stop-words.txt
diff --git a/pyaggr3g470r/var/generate-top-words-list.sh b/web/var/generate-top-words-list.sh
index 2a87e147..2a87e147 100755
--- a/pyaggr3g470r/var/generate-top-words-list.sh
+++ b/web/var/generate-top-words-list.sh
diff --git a/pyaggr3g470r/var/stop_words/english-stop-words-list.txt b/web/var/stop_words/english-stop-words-list.txt
index caa26aaf..caa26aaf 100644
--- a/pyaggr3g470r/var/stop_words/english-stop-words-list.txt
+++ b/web/var/stop_words/english-stop-words-list.txt
diff --git a/pyaggr3g470r/var/stop_words/french-stop-words-list.txt b/web/var/stop_words/french-stop-words-list.txt
index a6a36c79..a6a36c79 100644
--- a/pyaggr3g470r/var/stop_words/french-stop-words-list.txt
+++ b/web/var/stop_words/french-stop-words-list.txt
diff --git a/pyaggr3g470r/views/__init__.py b/web/views/__init__.py
index 36d382bd..36d382bd 100644
--- a/pyaggr3g470r/views/__init__.py
+++ b/web/views/__init__.py
diff --git a/pyaggr3g470r/views/api/__init__.py b/web/views/api/__init__.py
index e11cdd95..24472ebe 100644
--- a/pyaggr3g470r/views/api/__init__.py
+++ b/web/views/api/__init__.py
@@ -1,10 +1,10 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
-# pyAggr3g470r - A Web based news aggregator.
-# Copyright (C) 2010-2015 Cédric Bonhomme - http://cedricbonhomme.org/
+# jarr - A Web based news aggregator.
+# Copyright (C) 2010-2015 Cédric Bonhomme - http://JARR-aggregator.org/
#
-# For more information : https://bitbucket.org/cedricbonhomme/pyaggr3g470r/
+# For more information : https://github.com/JARR-aggregator/JARR/
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -26,6 +26,6 @@ __revision__ = "$Date: 2014/07/05 $"
__copyright__ = "Copyright (c) Cedric Bonhomme"
__license__ = "AGPLv3"
-from pyaggr3g470r.views.api import article, feed
+from web.views.api import article, feed
__all__ = ['article', 'feed']
diff --git a/pyaggr3g470r/views/api/article.py b/web/views/api/article.py
index d2969cb0..51844b20 100644
--- a/pyaggr3g470r/views/api/article.py
+++ b/web/views/api/article.py
@@ -4,8 +4,8 @@
from flask import g
import dateutil.parser
-from pyaggr3g470r.controllers import ArticleController
-from pyaggr3g470r.views.api.common import PyAggAbstractResource,\
+from web.controllers import ArticleController
+from web.views.api.common import PyAggAbstractResource,\
PyAggResourceNew, \
PyAggResourceExisting, \
PyAggResourceMulti
diff --git a/pyaggr3g470r/views/api/common.py b/web/views/api/common.py
index 6da93a3b..3476cad9 100644
--- a/pyaggr3g470r/views/api/common.py
+++ b/web/views/api/common.py
@@ -30,8 +30,8 @@ from werkzeug.exceptions import Unauthorized, BadRequest
from flask import request, g, session, Response
from flask.ext.restful import Resource, reqparse
-from pyaggr3g470r.lib.utils import default_handler
-from pyaggr3g470r.models import User
+from web.lib.utils import default_handler
+from web.models import User
logger = logging.getLogger(__name__)
diff --git a/pyaggr3g470r/views/api/feed.py b/web/views/api/feed.py
index c80e9a9b..2bb9814f 100644
--- a/pyaggr3g470r/views/api/feed.py
+++ b/web/views/api/feed.py
@@ -3,12 +3,12 @@
from flask import g
-from pyaggr3g470r.controllers.feed import (FeedController,
+from web.controllers.feed import (FeedController,
DEFAULT_MAX_ERROR,
DEFAULT_LIMIT,
DEFAULT_REFRESH_RATE)
-from pyaggr3g470r.views.api.common import PyAggAbstractResource, \
+from web.views.api.common import PyAggAbstractResource, \
PyAggResourceNew, \
PyAggResourceExisting, \
PyAggResourceMulti
diff --git a/pyaggr3g470r/views/article.py b/web/views/article.py
index 524bf6dd..bb914a6b 100644
--- a/pyaggr3g470r/views/article.py
+++ b/web/views/article.py
@@ -3,9 +3,9 @@
from flask import Blueprint, g, render_template, redirect
-from pyaggr3g470r import controllers, utils
-from pyaggr3g470r.lib.view_utils import etag_match
-from pyaggr3g470r.decorators import pyagg_default_decorator
+from web import controllers, utils
+from web.lib.view_utils import etag_match
+from web.decorators import pyagg_default_decorator
articles_bp = Blueprint('articles', __name__, url_prefix='/articles')
article_bp = Blueprint('article', __name__, url_prefix='/article')
diff --git a/pyaggr3g470r/views/feed.py b/web/views/feed.py
index c369919c..2a9b2da8 100644
--- a/pyaggr3g470r/views/feed.py
+++ b/web/views/feed.py
@@ -13,11 +13,11 @@ from flask.ext.babel import gettext
from flask.ext.login import login_required
import conf
-from pyaggr3g470r import utils
-from pyaggr3g470r.lib.view_utils import etag_match
-from pyaggr3g470r.lib.feed_utils import construct_feed_from
-from pyaggr3g470r.forms import AddFeedForm
-from pyaggr3g470r.controllers import FeedController, ArticleController
+from web import utils
+from web.lib.view_utils import etag_match
+from web.lib.feed_utils import construct_feed_from
+from web.forms import AddFeedForm
+from web.controllers import FeedController, ArticleController
feeds_bp = Blueprint('feeds', __name__, url_prefix='/feeds')
feed_bp = Blueprint('feed', __name__, url_prefix='/feed')
diff --git a/pyaggr3g470r/views/icon.py b/web/views/icon.py
index 2f51304a..895b4740 100644
--- a/pyaggr3g470r/views/icon.py
+++ b/web/views/icon.py
@@ -1,7 +1,7 @@
import base64
from flask import Blueprint, Response, request
-from pyaggr3g470r.controllers import IconController
-from pyaggr3g470r.lib.view_utils import etag_match
+from web.controllers import IconController
+from web.lib.view_utils import etag_match
icon_bp = Blueprint('icon', __name__, url_prefix='/icon')
diff --git a/pyaggr3g470r/views/views.py b/web/views/views.py
index f519acb5..ed4ae8a7 100644
--- a/pyaggr3g470r/views/views.py
+++ b/web/views/views.py
@@ -1,10 +1,10 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
-# pyAggr3g470r - A Web based news aggregator.
-# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.cedricbonhomme.org
+# jarr - A Web based news aggregator.
+# Copyright (C) 2010-2015 Cédric Bonhomme - https://www.JARR-aggregator.org
#
-# For more information : https://bitbucket.org/cedricbonhomme/pyaggr3g470r
+# For more information : https://github.com/JARR-aggregator/JARR
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -49,14 +49,14 @@ from sqlalchemy.exc import IntegrityError
from werkzeug import generate_password_hash
import conf
-from pyaggr3g470r import utils, notifications, export
-from pyaggr3g470r.lib.view_utils import etag_match
-from pyaggr3g470r.models import User, Feed, Article, Role
-from pyaggr3g470r.decorators import feed_access_required
-from pyaggr3g470r.forms import SignupForm, SigninForm, InformationMessageForm,\
+from web import utils, notifications, export
+from web.lib.view_utils import etag_match
+from web.models import User, Feed, Article, Role
+from web.decorators import feed_access_required
+from web.forms import SignupForm, SigninForm, InformationMessageForm,\
ProfileForm, UserForm, RecoverPasswordForm \
-from pyaggr3g470r.controllers import UserController, FeedController, \
+from web.controllers import UserController, FeedController, \
ArticleController
bgstack15