Ejemplo n.º 1
0
def getEntitiesMapping():

    DatabaseSchema = pickle.load(open("cache/db_schema.p","rb"));
    SalesforceSchema = pickle.load(open("cache/sf_schema.p","rb"));
    AdvisedMapping = advisor.getEntitiesMapping(config = config, sqlSchema = DatabaseSchema, sfSchema = SalesforceSchema, thesaurus = thesaurus)

    if 'POST' == request.method:
        
        for tbl in AdvisedMapping.keys():
            AdvisedMapping[tbl]['sObject'] = request.form[tbl]

        AdvisedMapping = advisor.compare(config=config, sqlSfMapping = AdvisedMapping,   sqlSchema = DatabaseSchema, sfSchema = SalesforceSchema, thesaurus = thesaurus)
        #save data to cache
        pickle.dump(AdvisedMapping, open("cache/mapping.p", "wb"))

        return redirect('/fieldsmapping')

    
    return render_template('entitiesmapping.html', entMapping = AdvisedMapping, sObjectsList = sorted(SalesforceSchema.keys()))
Ejemplo n.º 2
0
from modules.reporter import exportHtml

if len(sys.argv) > 1:
    databaseName = sys.argv[1]
else:
    databaseName = raw_input('Database: ')


config = ConfigParser.RawConfigParser()
config.read('config.cfg')
print 'Connecting to database...                                     \r',
databaseSchema = loadDatabaseSchema(databaseName, config)

print 'Retrieving salesforce objects schema ...                      \r',
salesforceSchema = loadObjectsSchema(config)

print 'Entities mapping...                                           \r',
thesaurus = Thesaurus(config.get('matching', 'thesaurus-csv'))
advisedMapping = getEntitiesMapping(config, databaseSchema, salesforceSchema, thesaurus)

print 'Analisys ...                                                  \r',
#dialog window is opened here to manually change a mapping
advisedMapping = entitiesMappingDialog(config, advisedMapping, databaseSchema, salesforceSchema)
advisedMapping = compare(config, advisedMapping, databaseSchema, salesforceSchema,thesaurus)


print 'Generation of report ...                                      \r',
filename = exportHtml(config, databaseName, advisedMapping, databaseSchema, salesforceSchema)

subprocess.call("explorer %s" % filename, shell=True)
print 'Done.                                                 '