35 lines
1 KiB
Python
35 lines
1 KiB
Python
# -*- coding: utf-8; -*-
|
|
|
|
import datetime
|
|
import os
|
|
|
|
from wuttjamaican.conf import WuttaConfig
|
|
from wuttjamaican.cmd import Command, date_organize
|
|
from wuttjamaican.testing import FileConfigTestCase
|
|
|
|
|
|
class TestDateOrganize(FileConfigTestCase):
|
|
|
|
def test_run(self):
|
|
dates = [
|
|
datetime.date(2023, 11, 21),
|
|
datetime.date(2023, 11, 20),
|
|
datetime.date(2023, 10, 15),
|
|
datetime.date(2023, 9, 10),
|
|
]
|
|
|
|
for date in dates:
|
|
dt = datetime.datetime.combine(date, datetime.time(0))
|
|
filename = date.strftime('%Y%m%d.txt')
|
|
path = self.write_file(filename, '')
|
|
os.utime(path, (dt.timestamp(), dt.timestamp()))
|
|
|
|
cmd = Command(subcommands={
|
|
'date-organize': date_organize.DateOrganize,
|
|
})
|
|
cmd.run('date-organize', self.tempdir)
|
|
|
|
self.assertEqual(os.listdir(self.tempdir), ['2023'])
|
|
self.assertEqual(sorted(os.listdir(os.path.join(self.tempdir, '2023'))),
|
|
['09', '10', '11'])
|