fixed flask's nonsense with relative dirs

master
Kevin Froman 2019-07-12 13:47:50 -05:00
parent 4c0c9675d0
commit b008616636
4 changed files with 24 additions and 26 deletions

View File

@ -59,7 +59,7 @@ class PrivateAPI:
self.queueResponse = {} self.queueResponse = {}
onionrInst.setClientAPIInst(self) onionrInst.setClientAPIInst(self)
register_private_blueprints.register_private_blueprints(self, app)
httpapi.load_plugin_blueprints(self, app) httpapi.load_plugin_blueprints(self, app)
self.get_block_data = httpapi.apiutils.GetBlockData(self) self.get_block_data = httpapi.apiutils.GetBlockData(self)

View File

@ -17,15 +17,17 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
''' '''
import os
from httpapi import security, friendsapi, profilesapi, configapi, insertblock, miscclientapi, onionrsitesapi, apiutils from httpapi import security, friendsapi, profilesapi, configapi, insertblock, miscclientapi, onionrsitesapi, apiutils
def register_private_blueprints(private_api, app): def register_private_blueprints(private_api, app):
app.register_blueprint(security.client.ClientAPISecurity(self).client_api_security_bp) app.register_blueprint(security.client.ClientAPISecurity(private_api).client_api_security_bp)
app.register_blueprint(friendsapi.friends) app.register_blueprint(friendsapi.friends)
app.register_blueprint(profilesapi.profile_BP) app.register_blueprint(profilesapi.profile_BP)
app.register_blueprint(configapi.config_BP) app.register_blueprint(configapi.config_BP)
app.register_blueprint(insertblock.ib) app.register_blueprint(insertblock.ib)
app.register_blueprint(miscclientapi.getblocks.client_get_blocks) app.register_blueprint(miscclientapi.getblocks.client_get_blocks)
app.register_blueprint(miscclientapi.staticfiles.static_files_bp) app.register_blueprint(miscclientapi.endpoints.PrivateEndpoints(private_api).private_endpoints_bp)
app.register_blueprint(miscclientapi.endpoints.PrivateEndpoints(self).private_endpoints_bp)
app.register_blueprint(onionrsitesapi.site_api) app.register_blueprint(onionrsitesapi.site_api)
app.register_blueprint(apiutils.shutdown.shutdown_bp) app.register_blueprint(apiutils.shutdown.shutdown_bp)
app.register_blueprint(miscclientapi.staticfiles.static_files_bp)
return app

View File

@ -17,59 +17,54 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
''' '''
import os
from flask import Blueprint, send_from_directory from flask import Blueprint, send_from_directory
static_files_bp = Blueprint('staticfiles', __name__) static_files_bp = Blueprint('staticfiles', __name__)
root = os.getcwd() + '/static-data/www/' # should be set to onionr install directory from onionr startup
@static_files_bp.route('/board/', endpoint='board') @static_files_bp.route('/board/', endpoint='board')
def loadBoard(): def loadBoard():
return send_from_directory('static-data/www/board/', "index.html") return send_from_directory(root + 'board/', "index.html")
@static_files_bp.route('/mail/<path:path>', endpoint='mail') @static_files_bp.route('/mail/<path:path>', endpoint='mail')
def loadMail(path): def loadMail(path):
return send_from_directory('static-data/www/mail/', path) return send_from_directory(root + 'mail/', path)
@static_files_bp.route('/mail/', endpoint='mailindex') @static_files_bp.route('/mail/', endpoint='mailindex')
def loadMailIndex(): def loadMailIndex():
return send_from_directory('static-data/www/mail/', 'index.html') return send_from_directory(root + 'mail/', 'index.html')
@static_files_bp.route('/clandestine/<path:path>', endpoint='clandestine')
def loadClandestine(path):
return send_from_directory('static-data/www/clandestine/', path)
@static_files_bp.route('/clandestine/', endpoint='clandestineIndex')
def loadClandestineIndex():
return send_from_directory('static-data/www/clandestine/', 'index.html')
@static_files_bp.route('/friends/<path:path>', endpoint='friends') @static_files_bp.route('/friends/<path:path>', endpoint='friends')
def loadContacts(path): def loadContacts(path):
return send_from_directory('static-data/www/friends/', path) return send_from_directory(root + 'friends/', path)
@static_files_bp.route('/friends/', endpoint='friendsindex') @static_files_bp.route('/friends/', endpoint='friendsindex')
def loadContacts(): def loadContacts():
return send_from_directory('static-data/www/friends/', 'index.html') return send_from_directory(root + 'friends/', 'index.html')
@static_files_bp.route('/profiles/<path:path>', endpoint='profiles') @static_files_bp.route('/profiles/<path:path>', endpoint='profiles')
def loadContacts(path): def loadContacts(path):
return send_from_directory('static-data/www/profiles/', path) return send_from_directory(root + 'profiles/', path)
@static_files_bp.route('/profiles/', endpoint='profilesindex') @static_files_bp.route('/profiles/', endpoint='profilesindex')
def loadContacts(): def loadContacts():
return send_from_directory('static-data/www/profiles/', 'index.html') return send_from_directory(root + 'profiles/', 'index.html')
@static_files_bp.route('/board/<path:path>', endpoint='boardContent') @static_files_bp.route('/board/<path:path>', endpoint='boardContent')
def boardContent(path): def boardContent(path):
return send_from_directory('static-data/www/board/', path) return send_from_directory(root + 'board/', path)
@static_files_bp.route('/shared/<path:path>', endpoint='sharedContent') @static_files_bp.route('/shared/<path:path>', endpoint='sharedContent')
def sharedContent(path): def sharedContent(path):
return send_from_directory('static-data/www/shared/', path) return send_from_directory(root + 'shared/', path)
@static_files_bp.route('/', endpoint='onionrhome') @static_files_bp.route('/', endpoint='onionrhome')
def hello(): def hello():
# ui home # ui home
return send_from_directory('static-data/www/private/', 'index.html') return send_from_directory(root + 'private/', 'index.html')
@static_files_bp.route('/private/<path:path>', endpoint='homedata') @static_files_bp.route('/private/<path:path>', endpoint='homedata')
def homedata(path): def homedata(path):
return send_from_directory('static-data/www/private/', path) return send_from_directory(root + 'private/', path)

View File

@ -19,12 +19,13 @@
''' '''
import sqlite3 import sqlite3
import logger import logger
from . import scoresortedpeerlist, peerprofiles
def peer_cleanup(core_inst): def peer_cleanup(core_inst):
'''Removes peers who have been offline too long or score too low''' '''Removes peers who have been offline too long or score too low'''
config = core_inst.config config = core_inst.config
logger.info('Cleaning peers...') logger.info('Cleaning peers...')
adders = get_score_sorted_peer_list(core_inst) adders = scoresortedpeerlist.get_score_sorted_peer_list(core_inst)
adders.reverse() adders.reverse()
if len(adders) > 1: if len(adders) > 1:
@ -34,7 +35,7 @@ def peer_cleanup(core_inst):
for address in adders: for address in adders:
# Remove peers that go below the negative score # Remove peers that go below the negative score
if PeerProfiles(address, core_inst).score < min_score: if peerprofiles.PeerProfiles(address, core_inst).score < min_score:
core_inst.removeAddress(address) core_inst.removeAddress(address)
try: try:
if (int(epoch.get_epoch()) - int(core_inst.getPeerInfo(address, 'dateSeen'))) >= 600: if (int(epoch.get_epoch()) - int(core_inst.getPeerInfo(address, 'dateSeen'))) >= 600: