| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- #!/usr/bin/env python
- # encoding: utf-8
- # cython: profile=True
- cdef inline int increment(object iterable, object test_string):
- cdef int count = 0
- cdef object thing
- for thing in iterable:
- if thing == test_string:
- count += 1
- return count
- from Naked.toolshed.c.types import NakedObject, XFSet, XDict, XList, XQueue, XSet, XString
- from Naked.settings import debug as DEBUG_FLAG
- #------------------------------------------------------------------------------
- # [ nob ] (NakedObject)
- # Cast a dictionary of attributes to a NakedObject with key>attribute mapping
- #------------------------------------------------------------------------------
- def nob(attributes={}):
- try:
- return NakedObject(attributes)
- except Exception as e:
- if DEBUG_FLAG:
- print("Naked Framework Error: unable to create a NakedObject with the requested argument using the nobj() function (Naked.toolshed.casts.py).")
- raise e
- #------------------------------------------------------------------------------
- # [ xd function ] (XDict)
- # Cast a Python dictionary to a XDict
- #------------------------------------------------------------------------------
- def xd(dictionary_arg, attributes={}):
- try:
- return XDict(dictionary_arg, attributes)
- except TypeError:
- raise TypeError("Attempted to cast to a XDict with an incompatible type")
- except Exception as e:
- if DEBUG_FLAG:
- print("Naked Framework Error: unable to cast object to a XDict with the xd() function (Naked.toolshed.casts.py).")
- raise e
- #------------------------------------------------------------------------------
- # [ xl function ] (XList)
- # Cast a Python list, set, or tuple to a XList
- #------------------------------------------------------------------------------
- def xl(list_arg, attributes={}):
- try:
- return XList(list_arg, attributes)
- except TypeError:
- raise TypeError("Attempted to cast to a XList with an incompatible type")
- except Exception as e:
- if DEBUG_FLAG:
- print("Naked Framework Error: unable to cast object to a XList with the xl() function (Naked.toolshed.casts.py).")
- raise e
- #------------------------------------------------------------------------------
- # [ xq function ] (XQueue)
- # Cast a Python list, set, tuple to a XQueue
- #------------------------------------------------------------------------------
- def xq(queue_arg, attributes={}):
- try:
- return XQueue(queue_arg, attributes)
- except TypeError:
- raise TypeError("Attempted to cast to a XQueue with an incompatible type")
- except Exception as e:
- if DEBUG_FLAG:
- print("Naked Framework Error: unable to cast object to a XQueue with the xq() function (Naked.toolshed.casts.py).")
- raise e
- #------------------------------------------------------------------------------
- # [ xset function ] (XSet)
- # Cast a Python set to a XSet
- #------------------------------------------------------------------------------
- def xset(set_arg, attributes={}):
- try:
- return XSet(set_arg, attributes)
- except TypeError:
- raise TypeError("Attempted to cast to a XSet with an incompatible type")
- except Exception as e:
- if DEBUG_FLAG:
- print("Naked Framework Error: unable to cast object to a XSet with the xset() function (Naked.toolshed.casts.py).")
- raise e
- #------------------------------------------------------------------------------
- # [ xfset function ] (XFSet)
- # Cast a Python set to a XFSet
- #------------------------------------------------------------------------------
- def xfset(set_arg, attributes={}):
- try:
- return XFSet(set_arg, attributes)
- except TypeError:
- raise TypeError("Attempted to cast to a XSet with an incompatible type")
- except Exception as e:
- if DEBUG_FLAG:
- print("Naked Framework Error: unable to cast object to a XSet with the xset() function (Naked.toolshed.casts.py).")
- raise e
- #------------------------------------------------------------------------------
- # [ xstr function ] (XString)
- # Cast a Python string to a XString
- #------------------------------------------------------------------------------
- def xstr(string_arg, attributes={}):
- try:
- return XString(string_arg, attributes)
- except TypeError as te:
- raise TypeError("Attempted to cast to a XString with an incompatible type")
- except Exception as e:
- if DEBUG_FLAG:
- print("Naked Framework Error: unable to cast object to a XString with the xstr() function (Naked.toolshed.casts.py).")
- raise e
- if __name__ == '__main__':
- test = xstr("A test", {'arg1': '2'})
- print(test)
- print(test[0])
- print(test.arg1)
- print(type(test))
|