#!/usr/bin/env python
# coding: utf-8

# In[1]:


from datetime import datetime, time,timedelta
import pytz
import glob
import os


# In[2]:


#problem 1
my_date_str = "20170817"
my_date_format = '%Y%m%d'

def days_15(my_date_str): 
    dateTimeObject = datetime.strptime(my_date_str, my_date_format)
    my_15_days_time_object = [dateTimeObject + timedelta(days=i) for i in range(15) ]
    
    '''
    my_15_days_time_object = []
    for i in range(15):
        my_15_days_time_object.append(dateTimeObject)
        dateTimeObject += timedelta(days=1)  
    '''    
        
    return my_15_days_time_object

result = days_15(my_date_str)
print(result)


# In[3]:


#problem 2
def count_files(my_glob_pattern):    
    data_path = os.path.join(my_glob_pattern)
    filePaths = glob.glob(data_path)
    return len(filePaths)    

glob_pattern = os.path.join('data/logData_*.txt')
num_files = count_files(glob_pattern) 
print("There are " + str(num_files) + " file(s) in this directory")


# In[4]:


#problem 3
def make_dirs(directory_path, new_directory_names):   
    if not ( os.path.isdir(directory_path) ):
        print(directory_path + ' not exist')
        print('Making new directory')
        os.makedirs(directory_path)
        for sub_dir in new_directory_names:
            new_sub_dir = os.path.join(directory_path, sub_dir)
            if not (os.path.isdir(new_sub_dir)):
                print('Creating new subdirectory ' + new_sub_dir)
                os.makedirs(new_sub_dir)
        return False
    else:
        print(directory_path + " already existed")
        return True
        

directory_path = os.path.join('Users', 'hdo', 'Documents', 'python_course', 'test_directory') 
new_directory_names = ['dir_a', 'dir_b', 'dir_c']
success = make_dirs(directory_path,new_directory_names)   
print(success)


# In[5]:


#problem 4
directory_path = os.path.join('Users', 'hdo', 'Documents', 'python_course', 'new_directory') 
def create_dir_with_timestamp(directory_path):
    my_date_format = '%Y%m%dT%H%M%S'
    dt_now = datetime.now().strftime(my_date_format)
    new_director_with_timestamp = directory_path + '_' + dt_now
    print("Making new directory with timestamp:", new_director_with_timestamp)
    os.makedirs(new_director_with_timestamp)
    
create_dir_with_timestamp(directory_path)


# In[6]:


def print_environment():
    my_evn = os.environ
    print('environ{')
    for key in my_evn:
        print("\'" + key +  "\': \'" + my_evn[key] + '\',')
    print('}')    


# In[7]:


print_environment()

