Loading transfer_service/os_utils.py 0 → 100644 +26 −0 Original line number Diff line number Diff line import os class OSUtils(object): def __init__(self): pass def userInfo(self, username): """Parses '/etc/passwd' and get returns user, uid and gid associated to a username.""" fp = open("/etc/passwd", 'r') for line in fp: info = line.split(':') user = info[0] uid = int(info[2]) gid = int(info[3]) if user == username: fp.close() return [ user, uid, gid ] fp.close() return False # Test ou = OSUtils() info = ou.userInfo("cristiano") print(info) transfer_service/store_amqp_server.py +4 −15 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ import json from amqp_server import AMQPServer from db_connector import DbConnector from os_utils import OSUtils from job import Job from job_queue import JobQueue from config import Config Loading @@ -32,6 +33,7 @@ class StoreAMQPServer(AMQPServer): self.params = config.loadSection("transfer_node") self.storageStorePath = self.params["store_path"] self.pendingQueueWrite = JobQueue("write_pending") self.osUtils = OSUtils() self.job = None self.username = None self.path = None Loading @@ -49,7 +51,7 @@ class StoreAMQPServer(AMQPServer): self.job.setPhase("PENDING") #folderPath = "/home/" + user + "/store" folderPath = self.storageStorePath.replace("{username}", user) userInfo = self.userInfo(user) userInfo = self.osUtils.userInfo(user) # Check if the user exists on the transfer node if not userInfo: response = { "responseType": "ERROR", Loading Loading @@ -120,19 +122,6 @@ class StoreAMQPServer(AMQPServer): os.chown(os.path.join(folder, f), 0, 0) os.chmod(os.path.join(folder, f), 0o555) # parse /etc/passwd on the transfer node and get # username, uid and gid def userInfo(self, username): fp = open("/etc/passwd", 'r') for line in fp: info = line.split(':') user = info[0] uid = int(info[2]) gid = int(info[3]) if user == username: return [ user, uid, gid ] return False def run(self): print(f"Starting AMQP server of type {self.type}...") super(StoreAMQPServer, self).run() Loading
transfer_service/os_utils.py 0 → 100644 +26 −0 Original line number Diff line number Diff line import os class OSUtils(object): def __init__(self): pass def userInfo(self, username): """Parses '/etc/passwd' and get returns user, uid and gid associated to a username.""" fp = open("/etc/passwd", 'r') for line in fp: info = line.split(':') user = info[0] uid = int(info[2]) gid = int(info[3]) if user == username: fp.close() return [ user, uid, gid ] fp.close() return False # Test ou = OSUtils() info = ou.userInfo("cristiano") print(info)
transfer_service/store_amqp_server.py +4 −15 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ import json from amqp_server import AMQPServer from db_connector import DbConnector from os_utils import OSUtils from job import Job from job_queue import JobQueue from config import Config Loading @@ -32,6 +33,7 @@ class StoreAMQPServer(AMQPServer): self.params = config.loadSection("transfer_node") self.storageStorePath = self.params["store_path"] self.pendingQueueWrite = JobQueue("write_pending") self.osUtils = OSUtils() self.job = None self.username = None self.path = None Loading @@ -49,7 +51,7 @@ class StoreAMQPServer(AMQPServer): self.job.setPhase("PENDING") #folderPath = "/home/" + user + "/store" folderPath = self.storageStorePath.replace("{username}", user) userInfo = self.userInfo(user) userInfo = self.osUtils.userInfo(user) # Check if the user exists on the transfer node if not userInfo: response = { "responseType": "ERROR", Loading Loading @@ -120,19 +122,6 @@ class StoreAMQPServer(AMQPServer): os.chown(os.path.join(folder, f), 0, 0) os.chmod(os.path.join(folder, f), 0o555) # parse /etc/passwd on the transfer node and get # username, uid and gid def userInfo(self, username): fp = open("/etc/passwd", 'r') for line in fp: info = line.split(':') user = info[0] uid = int(info[2]) gid = int(info[3]) if user == username: return [ user, uid, gid ] return False def run(self): print(f"Starting AMQP server of type {self.type}...") super(StoreAMQPServer, self).run()