from treecutter import constants as const
from treecutter.trie import Trie
from treecutter.link import Link
-from treecutter.tools import ssh_cmd, publish, mkdir_p
+from treecutter.tools import ssh_cmd, publish, mkdir_p,get_folder_size,sizeof_fmt
+
class Sitemap():
"""Class keeping the internal site structure"""
return etree.tostring(menu,encoding='UTF-8',pretty_print=False)
def publish(self):
+ print "Size [ %7s ]" % (sizeof_fmt(get_folder_size(self._tmptarget)))
ssh_cmd(self._output,"mkdir -p")
publish(self._tmptarget, self._output)
for res in ["stylesheets","images","js","fonts","favicon.ico"]:
retcode = subprocess.call(cmd)
if retcode:
print 'Error: '+' '.join(cmd)+' Returncode ['+str(retcode)+']'
+
+def sizeof_fmt(num, suffix='B'):
+ for unit in ['','Ki','Mi','Gi','Ti','Pi','Ei','Zi']:
+ if abs(num) < 1024.0:
+ return "%3.1f%s%s" % (num, unit, suffix)
+ num /= 1024.0
+ return "%.1f%s%s" % (num, 'Yi', suffix)
+
+def get_folder_size(folder):
+ total_size = os.path.getsize(folder)
+ for item in os.listdir(folder):
+ itempath = os.path.join(folder, item)
+ if os.path.isfile(itempath):
+ total_size += os.path.getsize(itempath)
+ elif os.path.isdir(itempath):
+ total_size += get_folder_size(itempath)
+ return total_size