utils.py 1022 bytes
# coding: utf-8
import pandas as pd
import grass.script as grass
import subprocess
import platform
isWindows = (platform.system() == 'Windows')

def myJoin(f1Path, f2Path, resultPath):
    df1 = pd.read_table(f1Path, delim_whitespace=True)
    df2 = pd.read_table(f2Path, delim_whitespace=True)
    merge = pd.merge(df1, df2)
    merge.to_csv(resultPath, header=True, index=False, sep=' ')

if isWindows:
    def getSi():
        si = None
        if hasattr(subprocess, 'STARTUPINFO'):
            si = subprocess.STARTUPINFO()
            si.dwFlags |= subprocess.STARTF_USESHOWWINDOW
        return si
else:
    def getSi():
        return None

def grass_run_command(*args, **kwargs):
    kwargs['startupinfo'] = getSi()
    return grass.run_command(*args, **kwargs)

def grass_parse_command(*args, **kwargs):
    kwargs['startupinfo'] = getSi()
    return grass.parse_command(*args, **kwargs)

def grass_feed_command(*args, **kwargs):
    kwargs['startupinfo'] = getSi()
    return grass.feed_command(*args, **kwargs)