mirror of
https://github.com/CumulusNetworks/ifupdown2.git
synced 2024-05-06 15:54:50 +00:00
Initial import of ifupdown2 sources
This commit is contained in:
32
ifupdown2/ifupdown/utils.py
Normal file
32
ifupdown2/ifupdown/utils.py
Normal file
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# Copyright 2014 Cumulus Networks, Inc. All rights reserved.
|
||||
# Author: Roopa Prabhu, roopa@cumulusnetworks.com
|
||||
#
|
||||
# utils --
|
||||
# helper class
|
||||
#
|
||||
import os
|
||||
import fcntl
|
||||
|
||||
class utils():
|
||||
|
||||
@classmethod
|
||||
def importName(cls, modulename, name):
|
||||
""" Import a named object """
|
||||
try:
|
||||
module = __import__(modulename, globals(), locals(), [name])
|
||||
except ImportError:
|
||||
return None
|
||||
return getattr(module, name)
|
||||
|
||||
@classmethod
|
||||
def lockFile(cls, lockfile):
|
||||
try:
|
||||
fp = os.open(lockfile, os.O_CREAT | os.O_TRUNC | os.O_WRONLY)
|
||||
fcntl.flock(fp, fcntl.LOCK_EX | fcntl.LOCK_NB)
|
||||
except IOError:
|
||||
return False
|
||||
return True
|
||||
|
||||
|
Reference in New Issue
Block a user