Module onionr.onionrcommands.exportblocks

Onionr - Private P2P Communication

This file handles the command for exporting blocks to disk

Source code
'''
    Onionr - Private P2P Communication

    This file handles the command for exporting blocks to disk
'''
'''
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
'''
import sys, os
import logger, onionrstorage
from utils import createdirs
from onionrutils import stringvalidators
import filepaths
def doExport(bHash):
    createdirs.create_dirs()
    data = onionrstorage.getData(bHash)
    with open('%s/%s.dat' % (filepaths.export_location, bHash), 'wb') as exportFile:
        exportFile.write(data)
        logger.info('Block exported as file', terminal=True)

def export_block():
    exportDir = filepaths.export_location
    try:
        if not stringvalidators.validate_hash(sys.argv[2]): raise ValueError
    except (IndexError, ValueError):
        logger.error('No valid block hash specified.', terminal=True)
        sys.exit(1)
    else:
        bHash = sys.argv[2]
        doExport(bHash)

export_block.onionr_help = "<block hash>: Export an Onionr block to a file. Export directory is in the Onionr data directory under block-export/"

Functions

def doExport(bHash)
Source code
def doExport(bHash):
    createdirs.create_dirs()
    data = onionrstorage.getData(bHash)
    with open('%s/%s.dat' % (filepaths.export_location, bHash), 'wb') as exportFile:
        exportFile.write(data)
        logger.info('Block exported as file', terminal=True)
def export_block()
Source code
def export_block():
    exportDir = filepaths.export_location
    try:
        if not stringvalidators.validate_hash(sys.argv[2]): raise ValueError
    except (IndexError, ValueError):
        logger.error('No valid block hash specified.', terminal=True)
        sys.exit(1)
    else:
        bHash = sys.argv[2]
        doExport(bHash)