#!/usr/bin/env python
# -*- coding:utf-8 -*-
#
# Author: Pablo Saavedra
# Maintainer: Pablo Saavedra
# Contact: psaavedra at igalia.com

import argparse
import sys
from twiki import utils

try:
    reload(sys)
    sys.setdefaultencoding('utf-8')  # Forcing UTF-8 in the enviroment:
    # http://stackoverflow.com/questions/3828723/why-we-need-sys-setdefaultencodingutf-8-in-a-py-scrip
except Exception:
    pass

## GLOBAL VARS #######################################################
conffile = "twiki.cfg"
inputfile = "input.csv"
topic = None
parent_topic = None

## command line options parser #######################################
parser = argparse.ArgumentParser()
parser.add_argument("-c", "--conffile", dest="conffile", default=conffile,
                    help="Conffile (default: %s)" % conffile)
parser.add_argument("-i", "--inputfile", dest="inputfile", default=inputfile,
                    help="Input file (default: %s)" % inputfile)
parser.add_argument("-p", "--parenttopic", dest="parent_topic",
                    default=parent_topic,
                    help="Parent topic (default: %s)" % parent_topic)
parser.add_argument("-t", "--topic", dest="topic",
                    default=topic,
                    help="Topic (default: %s)" % topic)

a = parser.parse_args()

# setting up #########################################################
settings = utils.get_default_settings()
utils.setup(a.conffile, settings)

## main ##############################################################
if __name__ == '__main__':
    t = utils.Twiki(settings)
    if a.topic:
        t.move_topic(a.topic, a.parent_topic)
    else:
        for topic, row_parent_topic in utils.get_2_columns_csv(a.inputfile):
            if a.parent_topic:
                row_parent_topic = a.parent_topic
            t.move_topic(topic, row_parent_topic)
