예제 #1
0
class TestCaseContextIndependent(unittest.TestCase):
    def setUp(self):
        self.app = create_app()
        self.db = MongoKit(self.app)

    def tearDown(self):
        pass

    def test_register_document(self):
        self.db.register([BlogPost])

        assert len(self.db.registered_documents) > 0
        assert self.db.registered_documents[0] == BlogPost

    def test_bson_object_id_converter(self):
        converter = BSONObjectIdConverter("/")

        self.assertRaises(BadRequest, converter.to_python, ("132"))
        assert converter.to_python("4e4ac5cfffc84958fa1f45fb") == \
               ObjectId("4e4ac5cfffc84958fa1f45fb")
        assert converter.to_url(ObjectId("4e4ac5cfffc84958fa1f45fb")) == \
               "4e4ac5cfffc84958fa1f45fb"

    def test_is_extension_registerd(self):
        assert hasattr(self.app, 'extensions')
        assert 'mongokit' in self.app.extensions
        assert self.app.extensions['mongokit'] == self.db
예제 #2
0
class TestCaseContextIndependent(unittest.TestCase):
    def setUp(self):
        self.app = create_app()
        self.db = MongoKit(self.app)

    def tearDown(self):
        pass
    
    def test_register_document(self):
        self.db.register([BlogPost])
        
        assert len(self.db.registered_documents) > 0
        assert self.db.registered_documents[0] == BlogPost
    
    def test_bson_object_id_converter(self):
        converter = BSONObjectIdConverter("/")
    
        self.assertRaises(BadRequest, converter.to_python, ("132"))
        assert converter.to_python("4e4ac5cfffc84958fa1f45fb") == \
               ObjectId("4e4ac5cfffc84958fa1f45fb")
        assert converter.to_url(ObjectId("4e4ac5cfffc84958fa1f45fb")) == \
               "4e4ac5cfffc84958fa1f45fb"

    def test_is_extension_registerd(self):
        assert hasattr(self.app, 'extensions')
        assert 'mongokit' in self.app.extensions
        assert self.app.extensions['mongokit'] == self.db
예제 #3
0
파일: blog.py 프로젝트: adilansari/blogit
    structure = {
        'title': basestring,
        'body': basestring,
        'date_creation': datetime,
        'rank': int,
    }

    required_fields = ['title', 'date_creation']
    default_values = {
        'rank': 0,
        'date_creation': datetime.utcnow
    }
    use_dot_notation = True

db = MongoKit(app)
db.register([BlogPost])

def get_rank():
    u = int(random.random()*100000)
    return u

@app.route('/')
def home():
    posts = db.posts.find()
    return render_template('home.html', posts=posts)

@app.route('/add', methods=['GET','POST'])
def add():
    if request.method == 'POST':
        post = db.BlogPost()
        post.rank = get_rank()
예제 #4
0
    return v.lower() in ("yes", "true", "t", "1")
#
app = Flask(__name__)

app.config['MONGODB_HOST'] = os.environ.get('MONGODB_HOST','194.177.192.227')
app.config['MONGODB_USERNAME'] = os.environ.get('MONGODB_USERNAME',None)
app.config['MONGODB_PASSWORD'] = os.environ.get('MONGODB_PASSWORD',None)
app.config['MONGODB_PORT'] = int(os.environ.get('MONGODB_PORT','27017'))
app.config['MONGODB_DATABASE'] = os.environ.get('MONGODB_DATABASE','faqs')
# app.config['SERVER_NAME'] = os.environ.get('SERVER_NAME','localhost:5000')
app_port = int(os.environ.get('APP_PORT','5000'))
app.config['DEBUG'] = str2bool(os.environ.get('DEBUG','True'))
CORS(app)
mongo = MongoKit(app)

mongo.register([Topic,Question,Page,PageHelpContent])

#===========
#  TOPICS
#===========

def delete_topic_questions(topic):
    # pprint(topic)
    questions = mongo.Question.find({"topics" : topic._id})

    for question in questions:
        question.topics.remove(topic._id)
        if len(question.topics)==0 :
            question.delete()
        else:
            question.save()
예제 #5
0
        'type': str,
        'features': [EmbedDoc],
    }
    required_fields = ['type']
    default_values = {'type': 'FeatureCollection'}


arr = list()
a = list()
x = list()
w = {}

app = Flask(__name__)
db = MongoKit(app)

db.register([EmbedDoc, MyDocument])
lock = threading.Lock()


@app.route('/')
def index():
    return render_template('flot.html')


@app.route('/mongo', methods=["POST"])
def conecta_mongo():
    app.config['MONGODB_DATABASE'] = 'Twitter_Xml'
    app.config['MONGODB_HOST'] = 'localhost'

    with app.app_context():
        tiempo_inicial = time()
예제 #6
0
#!/usr/bin/env python
#-*- coding: utf-8 -*-
__author__ = 'cybersg'

from flask import Flask, g
from flask_mongokit import MongoKit

app = Flask(__name__, template_folder='static')
app.config.from_object('scrumteam.conf.Config')

import models
db = MongoKit(app)
app.config['DB'] = db
db.register(models.documents())

def get_db():
    global db
    cn = getattr(g, 'db', None)
    if cn is None:
        cn = db
    return cn


import views



예제 #7
0
from helpers import * 

# MongoDB imports 
from flask_mongokit import MongoKit, Document


# User class (will not be placed here permanently)
class User(Document):
	# Collection name
	__collection__ = 'users'

	# Structure
	structure = {
		'name' : unicode, 
		'email' : unicode, 
		'image_url' : unicode, 
		'likes' : list,
		'dislikes' : list,
		'created_at': datetime,
		'updated_at': datetime
	}

	required_fields = ['name', 'email']
	default_values = { 'created_at': datetime.utcnow, 'updated_at': datetime.utcnow }
	use_dot_notation = True


# Init db + register documents
db = MongoKit(app)
db.register([User])
예제 #8
0
파일: app.py 프로젝트: dwright213/site
# mongo stuff
class Blag(Document):
    __collection__ = 'blags'

    structure = {
        'title': unicode,
        'text': unicode,
        'creation': datetime,
    }
    required_fields = ['title', 'creation']
    default_values = {'creation': datetime.utcnow}
    use_dot_notation = True


db = MongoKit(app)
db.register([Blag])
# end mongo stuff


@app.before_request
def set_up_nav():
    g.nav = ['home', 'infos', 'fotos', 'etc']


def tumblr_keys():
    g.client = pytumblr.TumblrRestClient(app.config['CONSUMER_KEY'],
                                         app.config['CONSUMER_SECRET'],
                                         app.config['OAUTH_TOKEN'],
                                         app.config['OAUTH_SECRET'])

예제 #9
0
파일: app.py 프로젝트: LUGM/pypals-website
    required_fields = ['name', 'college_id', 'email']
    default_values = {'time': datetime.now()}
    use_dot_notation = True

class Attendance(Document):
    __collection__ = 'pypals'
    structure = {
        'college_id': unicode,
        'talks_attended': list
    }
    required_fields = ['college_id', 'talks_attended']
    default_values = {'talks_attended': []}
    use_dot_notation = True

conn = MongoKit(app)
conn.register(User)
conn.register(Attendance)


@app.route("/")
def main():
    return redirect(u'/\u03BCpy')

@app.route("/repo")
def repo():
    return redirect('https://github.com/PyPals')

@app.route(u'/\u03BCpy')
def mu_py():
    return render_template('index.html', title="MUPy 2018", subtitle="MUPy")
예제 #10
0
from flask import Flask
from flask_cors import Cors
from flask_mongokit import MongoKit

from home.mongo_rest.home.documents import Home

app = Flask(__name__)

app.config['SECRET_KEY'] = 'SECRET_KEY'
app.config['MONGODB_DATABASE'] = "/test"

CORS(app, resources={r"/api/*": {"origins": "*"}})
db = MongoKit(app)

db.register([Home])

from home.mongo_rest.home.api import home_api

app.register_blueprint(home_api, url_prefix="/api/v1")