forked from fedora-infra/tahrir
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
23 changed files
with
500 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
0.0 | ||
--- | ||
|
||
- Initial version |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
include *.txt *.ini *.cfg *.rst | ||
recursive-include tahrir *.ico *.png *.css *.gif *.jpg *.pt *.txt *.mak *.mako *.js *.html *.xml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
tahrir README | ||
================== | ||
|
||
Getting Started | ||
--------------- | ||
|
||
- cd <directory containing this file> | ||
|
||
- $venv/bin/python setup.py develop | ||
|
||
- $venv/bin/populate_tahrir development.ini | ||
|
||
- $venv/bin/pserve development.ini | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
[app:main] | ||
use = egg:tahrir | ||
|
||
pyramid.reload_templates = true | ||
pyramid.debug_authorization = false | ||
pyramid.debug_notfound = false | ||
pyramid.debug_routematch = false | ||
pyramid.default_locale_name = en | ||
pyramid.includes = | ||
pyramid_debugtoolbar | ||
pyramid_tm | ||
|
||
sqlalchemy.url = sqlite:///%(here)s/tahrir.db | ||
|
||
[server:main] | ||
use = egg:waitress#main | ||
host = 0.0.0.0 | ||
port = 6543 | ||
|
||
# Begin logging configuration | ||
|
||
[loggers] | ||
keys = root, tahrir, sqlalchemy | ||
|
||
[handlers] | ||
keys = console | ||
|
||
[formatters] | ||
keys = generic | ||
|
||
[logger_root] | ||
level = INFO | ||
handlers = console | ||
|
||
[logger_tahrir] | ||
level = DEBUG | ||
handlers = | ||
qualname = tahrir | ||
|
||
[logger_sqlalchemy] | ||
level = INFO | ||
handlers = | ||
qualname = sqlalchemy.engine | ||
# "level = INFO" logs SQL queries. | ||
# "level = DEBUG" logs SQL queries and results. | ||
# "level = WARN" logs neither. (Recommended for production systems.) | ||
|
||
[handler_console] | ||
class = StreamHandler | ||
args = (sys.stderr,) | ||
level = NOTSET | ||
formatter = generic | ||
|
||
[formatter_generic] | ||
format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s | ||
|
||
# End logging configuration |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
[app:main] | ||
use = egg:tahrir | ||
|
||
pyramid.reload_templates = false | ||
pyramid.debug_authorization = false | ||
pyramid.debug_notfound = false | ||
pyramid.debug_routematch = false | ||
pyramid.default_locale_name = en | ||
pyramid.includes = | ||
pyramid_tm | ||
|
||
sqlalchemy.url = sqlite:///%(here)s/tahrir.db | ||
|
||
[server:main] | ||
use = egg:waitress#main | ||
host = 0.0.0.0 | ||
port = 6543 | ||
|
||
# Begin logging configuration | ||
|
||
[loggers] | ||
keys = root, tahrir, sqlalchemy | ||
|
||
[handlers] | ||
keys = console | ||
|
||
[formatters] | ||
keys = generic | ||
|
||
[logger_root] | ||
level = WARN | ||
handlers = console | ||
|
||
[logger_tahrir] | ||
level = WARN | ||
handlers = | ||
qualname = tahrir | ||
|
||
[logger_sqlalchemy] | ||
level = WARN | ||
handlers = | ||
qualname = sqlalchemy.engine | ||
# "level = INFO" logs SQL queries. | ||
# "level = DEBUG" logs SQL queries and results. | ||
# "level = WARN" logs neither. (Recommended for production systems.) | ||
|
||
[handler_console] | ||
class = StreamHandler | ||
args = (sys.stderr,) | ||
level = NOTSET | ||
formatter = generic | ||
|
||
[formatter_generic] | ||
format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s | ||
|
||
# End logging configuration |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
[nosetests] | ||
match=^test | ||
nocapture=1 | ||
cover-package=tahrir | ||
with-coverage=1 | ||
cover-erase=1 | ||
|
||
[compile_catalog] | ||
directory = tahrir/locale | ||
domain = tahrir | ||
statistics = true | ||
|
||
[extract_messages] | ||
add_comments = TRANSLATORS: | ||
output_file = tahrir/locale/tahrir.pot | ||
width = 80 | ||
|
||
[init_catalog] | ||
domain = tahrir | ||
input_file = tahrir/locale/tahrir.pot | ||
output_dir = tahrir/locale | ||
|
||
[update_catalog] | ||
domain = tahrir | ||
input_file = tahrir/locale/tahrir.pot | ||
output_dir = tahrir/locale | ||
previous = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
import os | ||
|
||
from setuptools import setup, find_packages | ||
|
||
here = os.path.abspath(os.path.dirname(__file__)) | ||
README = open(os.path.join(here, 'README.txt')).read() | ||
CHANGES = open(os.path.join(here, 'CHANGES.txt')).read() | ||
|
||
requires = [ | ||
'pyramid', | ||
'SQLAlchemy', | ||
'transaction', | ||
'pyramid_tm', | ||
'pyramid_debugtoolbar', | ||
'zope.sqlalchemy', | ||
'waitress', | ||
] | ||
|
||
setup(name='tahrir', | ||
version='0.0', | ||
description='tahrir', | ||
long_description=README + '\n\n' + CHANGES, | ||
classifiers=[ | ||
"Programming Language :: Python", | ||
"Framework :: Pylons", | ||
"Topic :: Internet :: WWW/HTTP", | ||
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application", | ||
], | ||
author='', | ||
author_email='', | ||
url='', | ||
keywords='web wsgi bfg pylons pyramid', | ||
packages=find_packages(), | ||
include_package_data=True, | ||
zip_safe=False, | ||
test_suite='tahrir', | ||
install_requires=requires, | ||
entry_points="""\ | ||
[paste.app_factory] | ||
main = tahrir:main | ||
[console_scripts] | ||
initialize_tahrir_db = tahrir.scripts.initializedb:main | ||
""", | ||
) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
from pyramid.config import Configurator | ||
from sqlalchemy import engine_from_config | ||
|
||
from .models import DBSession | ||
|
||
def main(global_config, **settings): | ||
""" This function returns a Pyramid WSGI application. | ||
""" | ||
engine = engine_from_config(settings, 'sqlalchemy.') | ||
DBSession.configure(bind=engine) | ||
config = Configurator(settings=settings) | ||
config.add_static_view('static', 'static', cache_max_age=3600) | ||
config.add_route('home', '/') | ||
config.scan() | ||
return config.make_wsgi_app() | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
from sqlalchemy import ( | ||
Column, | ||
Integer, | ||
Text, | ||
) | ||
|
||
from sqlalchemy.ext.declarative import declarative_base | ||
|
||
from sqlalchemy.orm import ( | ||
scoped_session, | ||
sessionmaker, | ||
) | ||
|
||
from zope.sqlalchemy import ZopeTransactionExtension | ||
|
||
DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension())) | ||
Base = declarative_base() | ||
|
||
class MyModel(Base): | ||
__tablename__ = 'models' | ||
id = Column(Integer, primary_key=True) | ||
name = Column(Text, unique=True) | ||
value = Column(Integer) | ||
|
||
def __init__(self, name, value): | ||
self.name = name | ||
self.value = value | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# package |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
import os | ||
import sys | ||
import transaction | ||
|
||
from sqlalchemy import engine_from_config | ||
|
||
from pyramid.paster import ( | ||
get_appsettings, | ||
setup_logging, | ||
) | ||
|
||
from ..models import ( | ||
DBSession, | ||
MyModel, | ||
Base, | ||
) | ||
|
||
def usage(argv): | ||
cmd = os.path.basename(argv[0]) | ||
print('usage: %s <config_uri>\n' | ||
'(example: "%s development.ini")' % (cmd, cmd)) | ||
sys.exit(1) | ||
|
||
def main(argv=sys.argv): | ||
if len(argv) != 2: | ||
usage(argv) | ||
config_uri = argv[1] | ||
setup_logging(config_uri) | ||
settings = get_appsettings(config_uri) | ||
engine = engine_from_config(settings, 'sqlalchemy.') | ||
DBSession.configure(bind=engine) | ||
Base.metadata.create_all(engine) | ||
with transaction.manager: | ||
model = MyModel(name='one', value=1) | ||
DBSession.add(model) |
Binary file not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
* html img, | ||
* html .png{position:relative;behavior:expression((this.runtimeStyle.behavior="none")&&(this.pngSet?this.pngSet=true:(this.nodeName == "IMG" && this.src.toLowerCase().indexOf('.png')>-1?(this.runtimeStyle.backgroundImage = "none", | ||
this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.src + "',sizingMethod='image')", | ||
this.src = "static/transparent.gif"):(this.origBg = this.origBg? this.origBg :this.currentStyle.backgroundImage.toString().replace('url("','').replace('")',''), | ||
this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.origBg + "',sizingMethod='crop')", | ||
this.runtimeStyle.backgroundImage = "none")),this.pngSet=true) | ||
);} | ||
#wrap{display:table;height:100%} |
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;/* 16px */ | ||
vertical-align:baseline;background:transparent;} | ||
body{line-height:1;} | ||
ol,ul{list-style:none;} | ||
blockquote,q{quotes:none;} | ||
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;} | ||
:focus{outline:0;} | ||
ins{text-decoration:none;} | ||
del{text-decoration:line-through;} | ||
table{border-collapse:collapse;border-spacing:0;} | ||
sub{vertical-align:sub;font-size:smaller;line-height:normal;} | ||
sup{vertical-align:super;font-size:smaller;line-height:normal;} | ||
ul,menu,dir{display:block;list-style-type:disc;margin:1em 0;padding-left:40px;} | ||
ol{display:block;list-style-type:decimal-leading-zero;margin:1em 0;padding-left:40px;} | ||
li{display:list-item;} | ||
ul ul,ul ol,ul dir,ul menu,ul dl,ol ul,ol ol,ol dir,ol menu,ol dl,dir ul,dir ol,dir dir,dir menu,dir dl,menu ul,menu ol,menu dir,menu menu,menu dl,dl ul,dl ol,dl dir,dl menu,dl dl{margin-top:0;margin-bottom:0;} | ||
ol ul,ul ul,menu ul,dir ul,ol menu,ul menu,menu menu,dir menu,ol dir,ul dir,menu dir,dir dir{list-style-type:circle;} | ||
ol ol ul,ol ul ul,ol menu ul,ol dir ul,ol ol menu,ol ul menu,ol menu menu,ol dir menu,ol ol dir,ol ul dir,ol menu dir,ol dir dir,ul ol ul,ul ul ul,ul menu ul,ul dir ul,ul ol menu,ul ul menu,ul menu menu,ul dir menu,ul ol dir,ul ul dir,ul menu dir,ul dir dir,menu ol ul,menu ul ul,menu menu ul,menu dir ul,menu ol menu,menu ul menu,menu menu menu,menu dir menu,menu ol dir,menu ul dir,menu menu dir,menu dir dir,dir ol ul,dir ul ul,dir menu ul,dir dir ul,dir ol menu,dir ul menu,dir menu menu,dir dir menu,dir ol dir,dir ul dir,dir menu dir,dir dir dir{list-style-type:square;} | ||
.hidden{display:none;} | ||
p{line-height:1.5em;} | ||
h1{font-size:1.75em;line-height:1.7em;font-family:helvetica,verdana;} | ||
h2{font-size:1.5em;line-height:1.7em;font-family:helvetica,verdana;} | ||
h3{font-size:1.25em;line-height:1.7em;font-family:helvetica,verdana;} | ||
h4{font-size:1em;line-height:1.7em;font-family:helvetica,verdana;} | ||
html,body{width:100%;height:100%;} | ||
body{margin:0;padding:0;background-color:#ffffff;position:relative;font:16px/24px "NobileRegular","Lucida Grande",Lucida,Verdana,sans-serif;} | ||
a{color:#1b61d6;text-decoration:none;} | ||
a:hover{color:#e88f00;text-decoration:underline;} | ||
body h1, | ||
body h2, | ||
body h3, | ||
body h4, | ||
body h5, | ||
body h6{font-family:"NeutonRegular","Lucida Grande",Lucida,Verdana,sans-serif;font-weight:normal;color:#373839;font-style:normal;} | ||
#wrap{min-height:100%;} | ||
#header,#footer{width:100%;color:#ffffff;height:40px;position:absolute;text-align:center;line-height:40px;overflow:hidden;font-size:12px;vertical-align:middle;} | ||
#header{background:#000000;top:0;font-size:14px;} | ||
#footer{bottom:0;background:#000000 url(footerbg.png) repeat-x 0 top;position:relative;margin-top:-40px;clear:both;} | ||
.header,.footer{width:750px;margin-right:auto;margin-left:auto;} | ||
.wrapper{width:100%} | ||
#top,#top-small,#bottom{width:100%;} | ||
#top{color:#000000;height:230px;background:#ffffff url(headerbg.png) repeat-x 0 top;position:relative;} | ||
#top-small{color:#000000;height:60px;background:#ffffff url(headerbg.png) repeat-x 0 top;position:relative;} | ||
#bottom{color:#222;background-color:#ffffff;} | ||
.top,.top-small,.middle,.bottom{width:750px;margin-right:auto;margin-left:auto;} | ||
.top{padding-top:40px;} | ||
.top-small{padding-top:10px;} | ||
#middle{width:100%;height:100px;background:url(middlebg.png) repeat-x;border-top:2px solid #ffffff;border-bottom:2px solid #b2b2b2;} | ||
.app-welcome{margin-top:25px;} | ||
.app-name{color:#000000;font-weight:bold;} | ||
.bottom{padding-top:50px;} | ||
#left{width:350px;float:left;padding-right:25px;} | ||
#right{width:350px;float:right;padding-left:25px;} | ||
.align-left{text-align:left;} | ||
.align-right{text-align:right;} | ||
.align-center{text-align:center;} | ||
ul.links{margin:0;padding:0;} | ||
ul.links li{list-style-type:none;font-size:14px;} | ||
form{border-style:none;} | ||
fieldset{border-style:none;} | ||
input{color:#222;border:1px solid #ccc;font-family:sans-serif;font-size:12px;line-height:16px;} | ||
input[type=text],input[type=password]{width:205px;} | ||
input[type=submit]{background-color:#ddd;font-weight:bold;} | ||
/*Opera Fix*/ | ||
body:before{content:"";height:100%;float:left;width:0;margin-top:-32767px;} |
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.