Source

tabola / tablib / helpers.py

# -*- coding: utf-8 -*-

""" Tablib - General Helpers.
"""

import sys


class Struct(object):
	"""Your attributes are belong to us."""
	
	def __init__(self, **entries): 
		self.__dict__.update(entries)
		
	def __getitem__(self, key):
		return getattr(self, key, None)

	def dictionary(self):
		"""Returns dictionary representation of object."""
		return self.__dict__

	def items(self):
		"""Returns items within object."""
		return self.__dict__.items()

	def keys(self):
		"""Returns keys within object."""
		return self.__dict__.keys()



def piped():
	"""Returns piped input via stdin, else False."""
	with sys.stdin as stdin:
		# TTY is only way to detect if stdin contains data
		return stdin.read() if not stdin.isatty() else None