Skip to content

Commit 9449a35

Browse files
committed
time: Allow constructing a struct_time from another struct_time
1 parent 05aa8ea commit 9449a35

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

shared-bindings/time/__init__.c

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,10 @@ mp_obj_t struct_time_make_new(const mp_obj_type_t *type, size_t n_args, const mp
8383
if (n_args != 1 || (kw_args != NULL && kw_args->used > 0)) {
8484
return namedtuple_make_new(type, n_args, args, kw_args);
8585
}
86-
if (mp_obj_get_type(args[0])->getiter != mp_obj_tuple_getiter || ((mp_obj_tuple_t *)MP_OBJ_TO_PTR(args[0]))->len != 9) {
87-
mp_raise_TypeError(translate("time.struct_time() takes a 9-sequence"));
88-
}
89-
90-
mp_obj_tuple_t *tuple = MP_OBJ_TO_PTR(args[0]);
91-
return namedtuple_make_new(type, 9, tuple->items, NULL);
86+
size_t len;
87+
mp_obj_t *items;
88+
mp_obj_get_array(args[0], &len, &items);
89+
return namedtuple_make_new(type, len, items, NULL);
9290
}
9391

9492
//| class struct_time:

0 commit comments

Comments
 (0)