gau1991
10 years ago
2 changed files with 158 additions and 0 deletions
@ -0,0 +1,126 @@ |
|||
from sqlalchemy import Column, DateTime, String, Integer, Boolean |
|||
from sqlalchemy import ForeignKey, func |
|||
from sqlalchemy.orm import relationship, backref |
|||
from sqlalchemy.ext.declarative import declarative_base |
|||
from ee.core.logging import Log |
|||
from ee.core.database import db_session |
|||
from ee.cli.plugins.models import PluginDB |
|||
import sys |
|||
import glob |
|||
|
|||
|
|||
def addNewPlugin(self, site, stype, cache, path, |
|||
enabled=True, ssl=False, fs='ext4', db='mysql', |
|||
db_name=None, db_user=None, db_password=None, |
|||
db_host='localhost', hhvm=0, pagespeed=0): |
|||
""" |
|||
Add New Site record information into ee database. |
|||
""" |
|||
try: |
|||
newRec = PluginDB(site, stype, cache, path, enabled, ssl, fs, db, |
|||
db_name, db_user, db_password, db_host, hhvm, |
|||
pagespeed) |
|||
db_session.add(newRec) |
|||
db_session.commit() |
|||
except Exception as e: |
|||
Log.debug(self, "{0}".format(e)) |
|||
Log.error(self, "Unable to add site to database") |
|||
|
|||
|
|||
def getPluginInfo(self, site): |
|||
""" |
|||
Retrieves site record from ee databse |
|||
""" |
|||
try: |
|||
q = PluginDB.query.filter(PluginDB.sitename == site).first() |
|||
return q |
|||
except Exception as e: |
|||
Log.debug(self, "{0}".format(e)) |
|||
Log.error(self, "Unable to query database for site info") |
|||
|
|||
|
|||
def updatePluginInfo(self, site, stype='', cache='', webroot='', |
|||
enabled=True, ssl=False, fs='', db='', db_name=None, |
|||
db_user=None, db_password=None, db_host=None, hhvm=None, |
|||
pagespeed=None): |
|||
"""updates site record in database""" |
|||
try: |
|||
q = PluginDB.query.filter(PluginDB.sitename == site).first() |
|||
except Exception as e: |
|||
Log.debug(self, "{0}".format(e)) |
|||
Log.error(self, "Unable to query database for site info") |
|||
|
|||
if not q: |
|||
Log.error(self, "{0} does not exist in database".format(site)) |
|||
|
|||
# Check if new record matches old if not then only update database |
|||
if stype and q.site_type != stype: |
|||
q.site_type = stype |
|||
|
|||
if cache and q.cache_type != cache: |
|||
q.cache_type = cache |
|||
|
|||
if q.is_enabled != enabled: |
|||
q.is_enabled = enabled |
|||
|
|||
if ssl and q.is_ssl != ssl: |
|||
q.is_ssl = ssl |
|||
|
|||
if db_name and q.db_name != db_name: |
|||
q.db_name = db_name |
|||
|
|||
if db_user and q.db_user != db_user: |
|||
q.db_user = db_user |
|||
|
|||
if db_user and q.db_password != db_password: |
|||
q.db_password = db_password |
|||
|
|||
if db_host and q.db_host != db_host: |
|||
q.db_host = db_host |
|||
|
|||
if webroot and q.site_path != webroot: |
|||
q.site_path = webroot |
|||
|
|||
if (hhvm is not None) and (q.is_hhvm is not hhvm): |
|||
q.is_hhvm = hhvm |
|||
|
|||
if (pagespeed is not None) and (q.is_pagespeed is not pagespeed): |
|||
q.is_pagespeed = pagespeed |
|||
|
|||
try: |
|||
q.created_on = func.now() |
|||
db_session.commit() |
|||
except Exception as e: |
|||
Log.debug(self, "{0}".format(e)) |
|||
Log.error(self, "Unable to update site info in application database.") |
|||
|
|||
|
|||
def deletePluginInfo(self, site): |
|||
"""Delete site record in database""" |
|||
try: |
|||
q = PluginDB.query.filter(PluginDB.sitename == site).first() |
|||
except Exception as e: |
|||
Log.debug(self, "{0}".format(e)) |
|||
Log.error(self, "Unable to query database") |
|||
|
|||
if not q: |
|||
Log.error(self, "{0} does not exist in database".format(site)) |
|||
|
|||
try: |
|||
db_session.delete(q) |
|||
db_session.commit() |
|||
except Exception as e: |
|||
Log.debug(self, "{0}".format(e)) |
|||
Log.error(self, "Unable to delete site from application database.") |
|||
|
|||
|
|||
def getAllplugins(self): |
|||
""" |
|||
1. returns all records from ee database |
|||
""" |
|||
try: |
|||
q = PluginDB.query.all() |
|||
return q |
|||
except Exception as e: |
|||
Log.debug(self, "{0}".format(e)) |
|||
Log.error(self, "Unable to query database") |
Loading…
Reference in new issue