@@ -225,29 +225,20 @@ treeentry_to_object(TreeEntry* self)
225
225
226
226
return wrap_object (obj , py_repo );
227
227
}
228
- PyDoc_STRVAR (TreeEntry_tree__doc__ , "Subtree. (for type=tree entries )" );
228
+ PyDoc_STRVAR (TreeEntry_obj__doc__ , "Object (subtree/blob )" );
229
229
230
230
PyObject *
231
- TreeEntry_tree__get__ (TreeEntry * self )
231
+ TreeEntry_obj__get__ (TreeEntry * self )
232
232
{
233
- git_tree * subtree = treeentry_to_subtree (self );
234
- if (subtree == NULL )
235
- return NULL ;
236
-
237
- return wrap_object ((git_object * )subtree , self -> repo );
238
- }
239
-
240
- PyDoc_STRVAR (TreeEntry_blob__doc__ , "Blob. (for type=blob entries)" );
233
+ if (git_tree_entry_type (self -> entry ) == GIT_OBJ_TREE ) {
234
+ git_tree * subtree = treeentry_to_subtree (self );
235
+ if (subtree == NULL )
236
+ return NULL ;
241
237
242
- PyObject *
243
- TreeEntry_blob__get__ (TreeEntry * self )
244
- {
245
- if (git_tree_entry_type (self -> entry ) != GIT_OBJ_BLOB ) {
246
- PyErr_SetString (PyExc_TypeError , "Only for blobs" );
247
- return NULL ;
238
+ return wrap_object ((git_object * )subtree , self -> repo );
239
+ } else {
240
+ return treeentry_to_object (self );
248
241
}
249
-
250
- return treeentry_to_object (self );
251
242
}
252
243
253
244
PyObject *
@@ -318,21 +309,6 @@ TreeEntry_getitem(TreeEntry *self, PyObject *value)
318
309
return r ;
319
310
}
320
311
321
- TreeEntry *
322
- TreeEntry_truediv (TreeEntry * self , PyObject * value )
323
- {
324
- TreeEntry * r ;
325
- git_tree * subtree ;
326
-
327
- subtree = treeentry_to_subtree (self );
328
- if (subtree == NULL )
329
- return NULL ;
330
-
331
- r = tree_getitem_by_path (subtree , self -> repo , value );
332
- git_tree_free (subtree );
333
- return r ;
334
- }
335
-
336
312
337
313
PyGetSetDef TreeEntry_getseters [] = {
338
314
GETTER (TreeEntry , filemode ),
@@ -342,8 +318,7 @@ PyGetSetDef TreeEntry_getseters[] = {
342
318
GETTER (TreeEntry , id ),
343
319
GETTER (TreeEntry , hex ),
344
320
GETTER (TreeEntry , type ),
345
- GETTER (TreeEntry , blob ),
346
- GETTER (TreeEntry , tree ),
321
+ GETTER (TreeEntry , obj ),
347
322
{NULL }
348
323
};
349
324
@@ -371,7 +346,7 @@ PyNumberMethods TreeEntry_as_number = {
371
346
0 , /* nb_subtract */
372
347
0 , /* nb_multiply */
373
348
#if PY_MAJOR_VERSION < 3
374
- (binaryfunc )TreeEntry_truediv , /* Py2: nb_divide */
349
+ (binaryfunc )TreeEntry_getitem , /* Py2: nb_divide */
375
350
#endif
376
351
0 , /* nb_remainder */
377
352
0 , /* nb_divmod */
@@ -407,7 +382,7 @@ PyNumberMethods TreeEntry_as_number = {
407
382
0 , /* nb_inplace_xor */
408
383
0 , /* nb_inplace_or */
409
384
0 , /* nb_floor_divide */
410
- TreeEntry_truediv , /* nb_true_divide */
385
+ TreeEntry_getitem , /* nb_true_divide */
411
386
0 , /* nb_inplace_floor_divide */
412
387
0 , /* nb_inplace_true_divide */
413
388
0 , /* nb_index */
@@ -618,13 +593,6 @@ Tree_getitem(Tree *self, PyObject *value)
618
593
return tree_getitem_by_path (self -> tree , self -> repo , value );
619
594
}
620
595
621
- TreeEntry *
622
- Tree_truediv (Tree * self , PyObject * value )
623
- {
624
- /* Case 2: byte or text string */
625
- return tree_getitem_by_path (self -> tree , self -> repo , value );
626
- }
627
-
628
596
629
597
PyDoc_STRVAR (Tree_diff_to_workdir__doc__ ,
630
598
"diff_to_workdir([flags, context_lines, interhunk_lines]) -> Diff\n"
@@ -829,7 +797,7 @@ PyNumberMethods Tree_as_number = {
829
797
0 , /* nb_subtract */
830
798
0 , /* nb_multiply */
831
799
#if PY_MAJOR_VERSION < 3
832
- (binaryfunc )Tree_truediv , /* Py2: nb_divide */
800
+ (binaryfunc )Tree_getitem , /* Py2: nb_divide */
833
801
#endif
834
802
0 , /* nb_remainder */
835
803
0 , /* nb_divmod */
@@ -865,7 +833,7 @@ PyNumberMethods Tree_as_number = {
865
833
0 , /* nb_inplace_xor */
866
834
0 , /* nb_inplace_or */
867
835
0 , /* nb_floor_divide */
868
- Tree_truediv , /* nb_true_divide */
836
+ Tree_getitem , /* nb_true_divide */
869
837
0 , /* nb_inplace_floor_divide */
870
838
0 , /* nb_inplace_true_divide */
871
839
0 , /* nb_index */
0 commit comments