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)
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)
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)