First setup of the store
This commit is contained in:
		
							parent
							
								
									e0758a7817
								
							
						
					
					
						commit
						d4c593208a
					
				
							
								
								
									
										13
									
								
								base.py
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								base.py
									
									
									
									
									
								
							@ -1,13 +0,0 @@
 | 
			
		||||
from sqlalchemy import create_engine
 | 
			
		||||
from sqlalchemy.ext.declarative import declarative_base
 | 
			
		||||
from sqlalchemy.orm import sessionmaker
 | 
			
		||||
 | 
			
		||||
def get_session(fil):
 | 
			
		||||
  fil = 'data/store.db'
 | 
			
		||||
 | 
			
		||||
  engine = create_engine('sqlite:///' + fil)
 | 
			
		||||
  
 | 
			
		||||
  Session = sessionmaker(bind=engine)
 | 
			
		||||
  return engine, Session
 | 
			
		||||
 | 
			
		||||
Base = declarative_base()
 | 
			
		||||
@ -28,7 +28,7 @@ class CommandLine:
 | 
			
		||||
    self.stopping = True
 | 
			
		||||
  
 | 
			
		||||
  def prompt(self):
 | 
			
		||||
    return '> hh'
 | 
			
		||||
    return '> '
 | 
			
		||||
  
 | 
			
		||||
  def handle_not_found(self, c, args):
 | 
			
		||||
    print(f'command not found; {c}')
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								commander.py
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								commander.py
									
									
									
									
									
								
							@ -1,16 +1,16 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
import logging
 | 
			
		||||
import argparse
 | 
			
		||||
from store import Store
 | 
			
		||||
import importlib
 | 
			
		||||
import sys
 | 
			
		||||
from command_line import  CommandLine
 | 
			
		||||
import argparse
 | 
			
		||||
 | 
			
		||||
class Commander(CommandLine):
 | 
			
		||||
  def __init__(self, store_dir):
 | 
			
		||||
    self.store_dir = store_dir
 | 
			
		||||
    self.store = Store(store_dir)
 | 
			
		||||
    super().__init__()
 | 
			
		||||
    
 | 
			
		||||
  def do_foo(self):
 | 
			
		||||
    store_file = 'data/store.db'
 | 
			
		||||
    s = Store(store_file)
 | 
			
		||||
    s.foo()
 | 
			
		||||
  
 | 
			
		||||
    self.store.foo()
 | 
			
		||||
 | 
			
		||||
Commander().run()
 | 
			
		||||
def main(args):
 | 
			
		||||
  args = parser.parse_args()
 | 
			
		||||
  main(args)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										0
									
								
								models/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								models/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										18
									
								
								models/base.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								models/base.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,18 @@
 | 
			
		||||
class Base:
 | 
			
		||||
  symbol: str
 | 
			
		||||
  
 | 
			
		||||
  def __init__(self, symbol, store):
 | 
			
		||||
    self.symbol = symbol
 | 
			
		||||
    self.store = store
 | 
			
		||||
    
 | 
			
		||||
  def path(self):
 | 
			
		||||
    raise NotImplementedError('path')
 | 
			
		||||
    
 | 
			
		||||
  def ext(self):
 | 
			
		||||
    raise NotImplementedError('extension')
 | 
			
		||||
  
 | 
			
		||||
  def type(self):
 | 
			
		||||
    return self.__class__.__name__
 | 
			
		||||
  
 | 
			
		||||
  def __str__(self):
 | 
			
		||||
    return f'{self.symbol}.{self.ext()}'
 | 
			
		||||
@ -1,13 +1,5 @@
 | 
			
		||||
from sqlalchemy import Column, String, Integer, Date
 | 
			
		||||
 | 
			
		||||
from base import Base
 | 
			
		||||
 | 
			
		||||
from .base import Base
 | 
			
		||||
 | 
			
		||||
class Sector(Base):
 | 
			
		||||
  __tablename__ = 'sectors'
 | 
			
		||||
 | 
			
		||||
  id = Column(Integer, primary_key=True)
 | 
			
		||||
  symbol = Column(String)
 | 
			
		||||
  magic = Column(Integer)
 | 
			
		||||
  def __init__(self, symbol):
 | 
			
		||||
    self.symbol = symbol
 | 
			
		||||
  def ext(self):
 | 
			
		||||
    return 'sct'
 | 
			
		||||
 | 
			
		||||
@ -1,15 +1,8 @@
 | 
			
		||||
from sqlalchemy import Column, String, Integer, Date
 | 
			
		||||
 | 
			
		||||
from base import Base
 | 
			
		||||
from .base import Base
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Setting(Base):
 | 
			
		||||
  __tablename__ = 'settings'
 | 
			
		||||
 | 
			
		||||
  id = Column(Integer, primary_key=True)
 | 
			
		||||
  name = Column(String)
 | 
			
		||||
  value = Column(String)
 | 
			
		||||
  
 | 
			
		||||
  def __init__(self, name, value):
 | 
			
		||||
    self.name = name
 | 
			
		||||
    self.value = value
 | 
			
		||||
  name: str
 | 
			
		||||
  value: str
 | 
			
		||||
  def ext(self):
 | 
			
		||||
    return 'set'
 | 
			
		||||
 | 
			
		||||
@ -1,13 +1,7 @@
 | 
			
		||||
from sqlalchemy import Column, String, Integer, Date
 | 
			
		||||
 | 
			
		||||
from base import Base
 | 
			
		||||
from .base import Base
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class System(Base):
 | 
			
		||||
  __tablename__ = 'systems'
 | 
			
		||||
 | 
			
		||||
  id = Column(Integer, primary_key=True)
 | 
			
		||||
  symbol = Column(String)
 | 
			
		||||
  
 | 
			
		||||
  def __init__(self, symbol):
 | 
			
		||||
    self.symbol = symbol
 | 
			
		||||
  def ext(self):
 | 
			
		||||
    return 'stm'
 | 
			
		||||
 | 
			
		||||
@ -1,13 +1,6 @@
 | 
			
		||||
from sqlalchemy import Column, String, Integer, Date
 | 
			
		||||
 | 
			
		||||
from base import Base
 | 
			
		||||
from .base import Base
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Waypoint(Base):
 | 
			
		||||
  __tablename__ = 'waypoints'
 | 
			
		||||
 | 
			
		||||
  id = Column(Integer, primary_key=True)
 | 
			
		||||
  symbol = Column(String)
 | 
			
		||||
  
 | 
			
		||||
  def __init__(self, symbol):
 | 
			
		||||
    self.symbol = symbol
 | 
			
		||||
  def ext(self):
 | 
			
		||||
    return 'way'
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										12
									
								
								store.py
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								store.py
									
									
									
									
									
								
							@ -1,10 +1,14 @@
 | 
			
		||||
from base import get_session, Base
 | 
			
		||||
from models.base import Base
 | 
			
		||||
from models.waypoint import Waypoint
 | 
			
		||||
from models.sector import Sector
 | 
			
		||||
from models.system import System
 | 
			
		||||
from models.setting import Setting
 | 
			
		||||
 | 
			
		||||
class Store:
 | 
			
		||||
  def __init__(self, fil):
 | 
			
		||||
    self.engine, self.session = get_session(fil)
 | 
			
		||||
    Base.metadata.create_all(self.engine)
 | 
			
		||||
    pass
 | 
			
		||||
  
 | 
			
		||||
  def foo(self):
 | 
			
		||||
    print('goo')
 | 
			
		||||
    w = Waypoint('jdjdj', self)
 | 
			
		||||
    print(w.__dict__)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user