Beispiel #1
0
def process_mission_form_function():
    from database import db, Project, Competence
    nom = flask.request.form["nom"]
    description = flask.request.form["description"]
    id_competence1 = flask.request.form.get('id_competence1')
    id_competence2 = flask.request.form.get('id_competence2')
    competence1 = Competence.query.filter_by(id=id_competence1).first()
    competence2 = Competence.query.filter_by(id=id_competence2).first()

    project = Project()

    if project is None:
        flask.redirect(flask.url_for("index"), 404)
    else:

        project.name = nom
        project.description = description
        project.id_employee = "<null>"
        project.state = 0
        project.competences.append(competence1)
        project.competences.append(competence2)

        db.session.add(project)
        db.session.commit()

    return flask.redirect(flask.url_for("accueil_affaire"))
Beispiel #2
0
def scrape(project_id):
    db = Database()
    if db.get_project(project_id):
        # print("Project {} exists in the datatbase".format(project_id))
        return True

    url = "https://smutba.se/project/{}/".format(project_id)
    page_html = requests.get(url)
    if page_html.status_code == 404:
        print("Project {} does not exist on the site".format(project_id))
        return False
    page_soup = soup(page_html.content, "html5lib")

    project = Project(project_id)
    project.title = page_soup.find("h1", {"id": "file_title"}).text
    images_e = page_soup.find_all("img", {"class": "project-detail-image-main"})
    for e in images_e:
        project.images.append(BASE_URL + e["src"])
    project.description = page_soup.find("div", {"class": "panel__body"}).decode_contents()

    user_id = page_soup.find("h4", {"class": "panel__avatar-title"}).find("a").get("href", "").split("/")[-2]
    user = User(user_id)
    user.name = page_soup.find("span", {"class": "username"}).text
    user.add_user()
    project.user = user

    info = page_soup.find("div", {"class": "panel__footer"}).find_all("dd")
    project.posted = info[0].text
    project.views = info[1].text
    project.category = info[2].text
    project.licence = info[3].text

    trs = page_soup.find("tbody").find_all("tr")
    for i in range(0, len(trs), 2):
        tr = trs[i].find_all("td")
        if len(tr) < 4:
            break
        filename = tr[0].strong.text
        downloads = tr[1].text
        created = tr[2].text
        filesize = tr[3].text
        links = trs[i+1].find_all("a")

        download = Download(filename)
        download.downloads = downloads
        download.created = created
        download.filesize = filesize
        download.project_id = project.id

        for link in links:
            download.urls.append(BASE_URL + link.get("href", ""))
        download.add_download()
    success = project.add_project()
    if not success:
        print("Project {} was not successfully added to the database".format(project_id))
    print("Project {} added to the database".format(project_id))
Beispiel #3
0
def create_project():
    # are we logged in?
    if 'username' not in login_session:
        return redirect('/login')

    # check for POST data
    if request.method == 'POST':
        # create new Project and send it to db
        project = Project(name=request.form['project_name'],
                          user_id=login_session['userid'])
        session.add(project)
        session.commit()
        return redirect(url_for('view_project', project_id=project.id))
    else:
        return render_template('createproject.html')
Beispiel #4
0
    def post(self):
        parser = reqparse.RequestParser()
        parser.add_argument('project_name',
                            type=str,
                            required=True,
                            help='Name of project')
        parser.add_argument('users', type=str, action='append')
        args = parser.parse_args()

        project_name = args['project_name']
        all_users = args['users']

        project = Project(project_name=project_name,
                          date_added=datetime.datetime.now())
        session.add(project)

        all_names = get_all_usernames()
        user_objects = []
        for name in all_users:
            if name in all_names:
                user_objects.append(get_user(name))
            else:
                abort(404, {'message': 'Username %s does not exist' % name})
        project.add_users(user_objects)

        try:
            session.commit()
        except Exception as project_exception:
            session.rollback()
            abort(404, {'message': str(project_exception)})

        return jsonify({
            'project':
            'http://%s:%s/project/%s' % (HOST, PORT, project_name),
            'users':
            all_users
        })
Beispiel #5
0
def createProject():
  if request.method == 'POST':
      nieuwProject = Project(titel = request.form['titel'], datum = request.form['datum'], afbeeldingUrl = request.form['afbeeldingUrl'])
      session.add(nieuwProject)
      session.commit()
      return redirect(url_for('projecten'))
Beispiel #6
0
# and represents a "staging zone" for all the objects loaded into the
# database session object. Any change made against the objects in the
# session won't be persisted into the database until you call
# session.commit(). If you're not happy about the changes, you can
# revert all of them back to the last commit by calling
# session.rollback()
session = DBSession()

user1 = User(name="Luki", email="*****@*****.**")

session.add(user1)
session.commit()

items = []

items.append(Project(user_id=1, name="Project 1"))

items.append(
    Task(user_id=1,
         project_id=1,
         title="Ein Titel",
         description="Eine Beschreibung"))
items.append(
    Task(user_id=1,
         project_id=1,
         title="Noch Ein Titel",
         description="Noch Eine Beschreibung"))
for item in items:
    session.add(item)
    session.commit()
Beispiel #7
0
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from database import Project, Base
from flask import session

engine = create_engine('sqlite:///projecten.db')

Base.metadata.bind = engine

DBSession = sessionmaker(bind=engine)

project1 = Project(
    id=1,
    datum=200804,
    titel="Portfolio Website",
    afbeeldingUrl="screen portfolio.jpg",
    beschrijving=
    "In Semester 1 (jaar 1) van Open-ICT werd de opdracht gegeven om een portfoliowebsite te maken waar de student al zijn/haar vaardigheden kon vertonen. Deze website moest bestaan uit meerder interactieve pagina's met een database. Ik heb gekozen om mijn website kalm en zakelijk te houden, omdat ik professionaliteit uit wil stralen. Hierboven het resultaat van de website."
)

print('ada')

session = DBSession()

session.add(project1)
session.commit()