mirror of
https://github.com/CumulusNetworks/ifupdown2.git
synced 2024-05-06 15:54:50 +00:00
33 lines
745 B
Python
33 lines
745 B
Python
|
#!/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
|
||
|
|
||
|
|