class ResearchDoc(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String())
    author = db.relationship('Author',
                             secondary=researchauthors,
                             backref=db.backref('researchdocs',
                                                lazy='dynamic'))
    date = db.Column(db.String())
    slug = db.Column(db.String())
    formats = db.relationship('Format',
                              secondary=researchformats,
                              backref=db.backref('researchdocs',
                                                 lazy='dynamic'))
    categories = db.relationship('Category',
                                 secondary=researchcategories,
                                 backref=db.backref('researchdocs',
                                                    lazy='dynamic'))
    doctype = db.Column(db.String())
    external = db.Column(db.String())
    lit_id = db.Column(db.Integer)

    def __repr__(self):
        return '<ResearchDoc %r>' % (self.title)

    @property
    def authors_string(self):
        return get_authors_string(self)
class QuoteCategory(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String())
    slug = db.Column(db.String())

    def __repr__(self):
        return '<QuoteCategory %r>' % (self.slug)
class Language(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String())
    ietf = db.Column(db.String())
    blog_posts = db.relationship("BlogPostTranslation", back_populates="language")

    def __repr__(self):
        return '<Language %r>' % (self.ietf)
class Author(db.Model):
	id = db.Column(db.Integer, primary_key = True)
	first = db.Column(db.String())
	middle = db.Column(db.String())
	last = db.Column(db.String())
	slug = db.Column(db.String())

	def __repr__(self):
 		return '<Author %r>' % (self.slug)
class Post(db.Model):
 	id = db.Column(db.Integer, primary_key = True)
 	url = db.Column(db.String())
 	name = db.Column(db.String())
 	date = db.Column(db.DateTime)
 	text = db.Column(db.String())
 	source = db.Column(db.String())

 	def __repr__(self):
 		return '<Post %r>' % (self.name)
class Translator(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String())
    url = db.Column(db.String())
    blog_posts = db.relationship("BlogPostTranslation",
                                 secondary=blog_post_translators,
                                 back_populates="translators")

    def __repr__(self):
        return '<Translator {}>'.format(self.name)
class Email(db.Model):
 	id = db.Column(db.Integer, primary_key = True)
 	subject = db.Column(db.String())
 	sent_from = db.Column(db.String())
 	date = db.Column(db.DateTime)
 	text = db.Column(db.String())
 	source = db.Column(db.String())

 	def __repr__(self):
 		return '<Email %r>' % (self.subject)
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    url = db.Column(db.String())
    name = db.Column(db.String())
    date = db.Column(db.DateTime)
    text = db.Column(db.String())
    source = db.Column(db.String())
    quotes = db.relationship("Quote", backref="post")

    def __repr__(self):
        return '<Post %r>' % (self.name)
class Email(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    subject = db.Column(db.String())
    sent_from = db.Column(db.String())
    date = db.Column(db.DateTime)
    text = db.Column(db.String())
    source = db.Column(db.String())
    quotes = db.relationship("Quote", backref="email")

    def __repr__(self):
        return '<Email %r>' % (self.subject)
class BlogSeries(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String())
    slug = db.Column(db.String())
    blogposts = db.relationship("BlogPost", backref=db.backref('series'))

    def __str__(self):
        return self.title

    def __repr__(self):
        return '<BlogSeries %r>' % (self.title)
class BlogPost(db.Model):
	id = db.Column(db.Integer, primary_key = True)
	title = db.Column(db.String())
	author = db.relationship('Author',
 		secondary = blogauthors,
 		backref=db.backref('blogposts', lazy='dynamic'))
	date = db.Column(db.Date)
	slug = db.Column(db.String())
	excerpt = db.Column(db.String())

	def __repr__(self):
 		return '<BlogPost %r>' % (self.title)
class Quote(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    text = db.Column(db.String())
    date = db.Column(db.Date)
    medium = db.Column(db.String())
    email_id = db.Column(db.Integer, db.ForeignKey('email.id'))
    post_id = db.Column(db.Integer, db.ForeignKey('post.satoshi_id'))
    categories = db.relationship('QuoteCategory',
                                 secondary=quote_categories,
                                 backref=db.backref('quotes', lazy='dynamic'))

    def __repr__(self):
        return '<Quote %r>' % (self.id)
class EmailThread(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String())
    source = db.Column(db.String())
    emails = db.relationship('Email', backref='email_thread', lazy=True)

    def source_to_string(self):
        if self.source == 'cryptography':
            return 'Cryptography Mailing List'
        else:
            return self.source

    def __repr__(self):
        return '<EmailThread %r>' % (self.title)
Exemple #14
0
class Skeptic(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String())
    title = db.Column(db.String())
    article = db.Column(db.String())
    date = db.Column(db.Date)
    source = db.Column(db.String())
    excerpt = db.Column(db.String())
    price = db.Column(db.String())
    link = db.Column(db.String())
    waybacklink = db.Column(db.String())
    slug = db.Column(db.String())
class BlogPost(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String())
    author = db.relationship('Author',
                             secondary=blogauthors,
                             backref=db.backref('blogposts', lazy='dynamic'))
    date = db.Column(db.Date)
    added = db.Column(db.Date)
    slug = db.Column(db.String())
    excerpt = db.Column(db.String())
    languages = db.Column(db.String())
    series_id = db.Column(db.Integer, db.ForeignKey('blog_series.id'))
    series_index = db.Column(db.Integer)

    def __repr__(self):
        return '<BlogPost %r>' % (self.title)
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    satoshi_id = db.Column(db.Integer, unique=True)
    url = db.Column(db.String())
    subject = db.Column(db.String())
    poster_name = db.Column(db.String())
    poster_url = db.Column(db.String())
    post_num = db.Column(db.Integer)  # Post number in thread
    is_displayed = db.Column(db.Boolean)
    nested_level = db.Column(db.Integer)
    date = db.Column(db.DateTime)
    text = db.Column(db.String())
    quotes = db.relationship("Quote", backref="post")
    thread_id = db.Column(db.Integer, db.ForeignKey('forum_thread.id'))

    def __repr__(self):
        return '<Post %r>' % (self.subject)
class ForumThread(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String())
    url = db.Column(db.String())
    source = db.Column(db.String())
    posts = db.relationship('Post', backref='forum_thread', lazy=True)

    def source_to_string(self):
        if self.source == 'bitcointalk':
            return 'BitcoinTalk'
        elif self.source == 'p2pfoundation':
            return 'P2P Foundation'
        else:
            return self.source

    def __repr__(self):
        return '<ForumThread %r>' % (self.title)
Exemple #18
0
class Skeptic(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String())
    title = db.Column(db.String())
    article = db.Column(db.String())
    date = db.Column(db.Date)
    source = db.Column(db.String())
    excerpt = db.Column(db.String())
    price = db.Column(db.String())
    link = db.Column(db.String())
    twitter_embed = db.Column(db.String())
    twitter_screenshot = db.Column(db.Boolean)
    waybacklink = db.Column(db.String())
    slug = db.Column(db.String())

    def __repr__(self):
        return '<Skeptic %r>' % (self.name)
class Doc(db.Model):
 	id = db.Column(db.Integer, primary_key = True)
 	title = db.Column(db.String())
 	author = db.relationship('Author',
 		secondary = authors,
 		backref=db.backref('docs', lazy='dynamic'))
 	date = db.Column(db.String())
 	slug = db.Column(db.String())
 	formats = db.relationship('Format',
 		secondary = formats,
 		backref=db.backref('docs', lazy='dynamic'))
 	categories = db.relationship('Category',
 		secondary = categories,
 		backref=db.backref('docs', lazy='dynamic'))
 	doctype = db.Column(db.String())

 	def __repr__(self):
 		return '<Doc %r>' % (self.title)
class Episode(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String())
    date = db.Column(db.Date())
    duration = db.Column(db.String())
    subtitle = db.Column(db.String())
    summary = db.Column(db.String())
    slug = db.Column(db.String())
    youtube = db.Column(db.String())
    address = db.Column(db.String())
    length = db.Column(db.String())
    time = db.Column(db.DateTime(timezone=True))

    def __repr__(self):
        return '<Episode %r>' % (self.title)
class Price(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    date = db.Column(db.Date)
    price = db.Column(db.String())

    def __repr__(self):
        return '<Price %r>' % (self.date)

    def serialize(self):
        return {
            'id': self.id,
            'date': str(self.date),
            'price': self.price,
        }
class Email(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    satoshi_id = db.Column(db.Integer, unique=True)
    url = db.Column(db.String())
    subject = db.Column(db.String())
    sent_from = db.Column(db.String())
    date = db.Column(db.DateTime)
    text = db.Column(db.String())
    source = db.Column(db.String())
    source_id = db.Column(db.String())
    quotes = db.relationship("Quote", backref="email")
    parent_id = db.Column(db.Integer, db.ForeignKey('email.id'))
    replies = db.relationship('Email',
                              backref=db.backref('parent', remote_side=[id]),
                              lazy='dynamic')
    thread_id = db.Column(db.Integer, db.ForeignKey('email_thread.id'))

    def __repr__(self):
        return '<Email %r - %r>' % (self.subject, self.source_id)
class Skeptic(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String())
    title = db.Column(db.String())
    article = db.Column(db.String())
    date = db.Column(db.Date)
    source = db.Column(db.String())
    excerpt = db.Column(db.String())
    price = db.Column(db.String())
    link = db.Column(db.String())
    media_embed = db.Column(db.String())
    twitter_screenshot = db.Column(db.Boolean)
    waybacklink = db.Column(db.String())
    slug = db.Column(db.String())
    _btc_balance = db.Column(db.String())
    _usd_invested = db.Column(db.Integer)
    _usd_value = db.Column(db.String())
    _percent_change = db.Column(db.String())

    @property
    def btc_balance(self):
        return Decimal(self._btc_balance)

    @property
    def usd_invested(self):
        return Decimal(self._usd_invested)

    @property
    def usd_value(self):
        return Decimal(self._usd_value)

    @property
    def percent_change(self):
        return Decimal(self._percent_change)

    def __repr__(self):
        return '<Skeptic %r>' % (self.name)
class Format(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String())

    def __repr__(self):
        return '<Format %r>' % (self.name)