Explorar el Código

resolved cyclic dependency

Dimitri Korsch hace 3 años
padre
commit
909b9781bf
Se han modificado 3 ficheros con 12 adiciones y 12 borrados
  1. 3 1
      pycs/__init__.py
  2. 4 5
      pycs/database/Collection.py
  3. 5 6
      pycs/database/File.py

+ 3 - 1
pycs/__init__.py

@@ -1,5 +1,7 @@
 import json
 
+from pathlib import Path
+
 from flask import Flask
 from flask_migrate import Migrate
 from flask_sqlalchemy import SQLAlchemy
@@ -11,7 +13,7 @@ with open('settings.json') as file:
 
 
 app = Flask(__name__)
-app.config["SQLALCHEMY_DATABASE_URI"] = f"sqlite:///{settings['database']}"
+app.config["SQLALCHEMY_DATABASE_URI"] = f"sqlite:///{Path.cwd() / settings['database']}"
 app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
 db = SQLAlchemy(app)
 migrate = Migrate(app, db)

+ 4 - 5
pycs/database/Collection.py

@@ -2,7 +2,6 @@ from contextlib import closing
 from typing import Iterator
 
 from pycs import db
-from pycs.database.File import File
 from pycs.database.base import NamedBaseModel
 
 class Collection(NamedBaseModel):
@@ -36,8 +35,8 @@ class Collection(NamedBaseModel):
     def count_files(self) -> int:
         return self.files.count()
 
-    def files_it(self, offset: int = 0, limit: int = -1) -> Iterator[File]:
-        # self.files.filter
-        files = File.query.filter_by(project_id=self.project_id, collection_id=self.id)
-        raise NotImplementedError
+    # def files_it(self, offset: int = 0, limit: int = -1) -> Iterator[File]:
+    #     # self.files.filter
+    #     files = File.query.filter_by(project_id=self.project_id, collection_id=self.id)
+    #     raise NotImplementedError
 

+ 5 - 6
pycs/database/File.py

@@ -8,7 +8,6 @@ from datetime import datetime
 
 from pycs import db
 from pycs.database.Result import Result
-from pycs.database.Project import Project
 from pycs.database.Collection import Collection
 from pycs.database.base import NamedBaseModel
 
@@ -83,7 +82,7 @@ class File(NamedBaseModel):
 
         :return: another file or None
         """
-        return File.query.filter(*query)\
+        return self.project.files.filter(*query)\
             .order_by(File.id.desc())\
             .first()
 
@@ -93,7 +92,7 @@ class File(NamedBaseModel):
 
         :return: another file or None
         """
-        query = File.id > self.id, Project.id == self.project_id
+        query = File.id > self.id
         return self._get_another_file(*query)
 
 
@@ -103,7 +102,7 @@ class File(NamedBaseModel):
 
         :return: another file or None
         """
-        query = File.id < self.id, Project.id == self.project_id
+        query = File.id < self.id
         return self._get_another_file(*query)
 
 
@@ -113,7 +112,7 @@ class File(NamedBaseModel):
 
         :return: another file or None
         """
-        query = File.id > self.id, Project.id == self.project_id, Collection.id == self.collection_id
+        query = File.id > self.id, Collection.id == self.collection_id
         return self._get_another_file(*query)
 
 
@@ -123,7 +122,7 @@ class File(NamedBaseModel):
 
         :return: another file or None
         """
-        query = File.id < self.id, Project.id == self.project_id, Collection.id == self.collection_id
+        query = File.id < self.id, Collection.id == self.collection_id
         return self._get_another_file(*query)