Completed
Push — master ( df2627...66541b )
by Bart
9s
created

fill_db_feeds()   A

Complexity

Conditions 1

Size

Total Lines 57

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
c 1
b 0
f 0
dl 0
loc 57
rs 9.6818

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
from sqlalchemy.ext.declarative import declarative_base
2
from sqlalchemy import (
3
    Column,
4
    Integer,
5
    String,
6
    ForeignKey,
7
8
)
9
from sqlalchemy.orm import relationship, sessionmaker
10
11
Base = declarative_base()
12
13
14
class Feed(Base):
15
    __tablename__ = 'feeds'
16
    id = Column(Integer, primary_key=True)
17
18
    entries = relationship(
19
        'FeedEntry',
20
        backref='feed',
21
        cascade='all, delete-orphan'
22
    )
23
24
25
class FeedEntry(Base):
26
    __tablename__ = 'feedentries'
27
28
    id = Column(Integer, primary_key=True)
29
    uri = Column(String, nullable=False)
30
    feed_id = Column(Integer, ForeignKey('feeds.id'))
31
32
33
def fill_db_feeds(engine):
34
    Base.metadata.drop_all(engine)
35
    Base.metadata.create_all(engine)
36
    Session = sessionmaker(
37
        bind=engine
38
    )
39
    DB = Session()
40
41
    feed1 = Feed(id=1)
42
43
    feedentry1 = FeedEntry(
44
        uri='https://dev-id.erfgoed.net/tests/1',
45
    )
46
    feedentry2 = FeedEntry(
47
        uri='https://dev-id.erfgoed.net/tests/2',
48
    )
49
    feed1.entries = [feedentry1, feedentry2]
50
    DB.add(feed1)
51
52
    feed2 = Feed(id=2)
53
54
    feedentry3 = FeedEntry(
55
        uri='https://dev-id.erfgoed.net/tests/3',
56
    )
57
    feedentry4 = FeedEntry(
58
        uri='https://dev-id.erfgoed.net/tests/4',
59
    )
60
    feedentry5 = FeedEntry(
61
        uri='https://dev-id.erfgoed.net/tests/5',
62
    )
63
    feedentry6 = FeedEntry(
64
        uri='https://dev-id.erfgoed.net/tests/6',
65
    )
66
    feedentry7 = FeedEntry(
67
        uri='https://dev-id.erfgoed.net/tests/7',
68
    )
69
    feedentry8 = FeedEntry(
70
        uri='https://dev-id.erfgoed.net/tests/8',
71
    )
72
    feedentry9 = FeedEntry(
73
        uri='https://dev-id.erfgoed.net/tests/9',
74
    )
75
    feedentry10 = FeedEntry(
76
        uri='https://dev-id.erfgoed.net/tests/10',
77
    )
78
    feedentry11 = FeedEntry(
79
        uri='https://dev-id.erfgoed.net/tests/11',
80
    )
81
    feedentry12 = FeedEntry(
82
        uri='https://dev-id.erfgoed.net/tests/12',
83
    )
84
    feed2.entries = [feedentry3, feedentry4, feedentry5, feedentry6, feedentry7, feedentry8, feedentry9, feedentry10,
85
                     feedentry11, feedentry12]
86
    DB.add(feed2)
87
88
    DB.commit()
89
    DB.close()
90