HCE Project Python language Distributed Tasks Manager Application, Distributed Crawler Application and client API bindings.  2.0.0-chaika
Hierarchical Cluster Engine Python language binding
ftest_join.py
Go to the documentation of this file.
1 #!/usr/bin/python
2 '''
3 HCE project, Python bindings, DC dependencies
4 The join tools research tests.
5 
6 @package: drce
7 @author Alexander Vybornyh <alexander.hce.cluster@gmail.com>
8 @link: http://hierarchical-cluster-engine.com/
9 @copyright: Copyright &copy; 2013-2016 IOIX Ukraine
10 @license: http://hierarchical-cluster-engine.com/license/
11 @since: 0.1
12 '''
13 
14 import ppath
15 from ppath import sys
16 
17 import os
18 from subprocess import Popen, PIPE
19 from tempfile import SpooledTemporaryFile as tempfile
20 from subprocess import Popen
21 from subprocess import PIPE
22 
23 from app.Utils import varDump
24 
25 testDataDir = './join-convertor-data'
26 testOutputFile = '/tmp/join_output_file.json'
27 testDelimiter = ';'
28 
29 delimiterTemplate = "--delimiter='%s'"
30 firstCmdTemplate = "cd ~/hce-node-bundle/api/python/bin && ./join.py --files='%s' --output_file='%s'"
31 secondCmdTemplate = "cd ~/hce-node-bundle/api/python/bin && ./join.py --files='%s'"
32 
33 
34 def execute(cmd):
35  process = Popen(cmd, stdout=PIPE, stdin=PIPE, stderr=PIPE, shell=True, close_fds=True)
36  output, err = process.communicate()
37  exitCode = process.wait()
38  return output, err, exitCode
39 
40 
41 def makeInputFileList(dataDir, delimiter=None):
42  # variable for result
43  ret = ''
44 
45  if os.path.isdir(dataDir):
46  filesList = [os.path.abspath(os.path.join(dataDir, f)) for f in os.listdir(dataDir) if os.path.isfile(os.path.join(dataDir, f))]
47 
48  if delimiter is None:
49  delimiter = ' '
50 
51  ret = delimiter.join(filesList)
52 
53  return ret
54 
55 
56 def testExecute(cmd, files):
57  print ("cmd: " + str(cmd))
58 
59  output, err, exitCode = execute(cmd)
60  print ("exitCode: " + str(exitCode))
61  print ("error: " + str(err))
62  print ("output: " + str(output))
63 
64 
65 if __name__ == "__main__":
66  files = makeInputFileList(testDataDir, testDelimiter)
67  print ("files: " + str(files))
68 
69  cmd = (firstCmdTemplate % (files, testOutputFile)) + ' ' + (delimiterTemplate % testDelimiter)
70  testExecute(cmd, files)
71 
72  files = files.split(testDelimiter)[0]
73  print ("files: " + str(files))
74  cmd = (firstCmdTemplate % (files, testOutputFile)) + ' ' + (delimiterTemplate % testDelimiter)
75  testExecute(cmd, files)
76 
77  cmd = (firstCmdTemplate % (files, testOutputFile)) + ' ' + (delimiterTemplate % testDelimiter)
78  testExecute(cmd, files)
79 
80  cmd = secondCmdTemplate % files
81  testExecute(cmd, files)
def execute(cmd)
Definition: ftest_join.py:34
def testExecute(cmd, files)
Definition: ftest_join.py:56
def makeInputFileList(dataDir, delimiter=None)
Definition: ftest_join.py:41