Skip to content

Commit 4bedb05

Browse files
authored
Merge pull request #2015 from Andrej730/main
Use property decorator to support typing
2 parents 6d09bb6 + 94151aa commit 4bedb05

File tree

2 files changed

+45
-36
lines changed

2 files changed

+45
-36
lines changed

‎git/refs/symbolic.py‎

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
ifTYPE_CHECKING:
4040
fromgit.configimportGitConfigParser
4141
fromgit.objects.commitimportActor
42-
fromgit.refsimportHead, TagReference, RemoteReference, Reference
4342
fromgit.refs.logimportRefLogEntry
4443
fromgit.repoimportRepo
4544

@@ -387,17 +386,23 @@ def set_object(
387386
# set the commit on our reference
388387
returnself._get_reference().set_object(object, logmsg)
389388

390-
commit=property(
391-
_get_commit,
392-
set_commit, # type: ignore[arg-type]
393-
doc="Query or set commits directly",
394-
)
389+
@property
390+
defcommit(self) ->"Commit":
391+
"""Query or set commits directly"""
392+
returnself._get_commit()
393+
394+
@commit.setter
395+
defcommit(self, commit: Union[Commit, "SymbolicReference", str]) ->"SymbolicReference":
396+
returnself.set_commit(commit)
397+
398+
@property
399+
defobject(self) ->AnyGitObject:
400+
"""Return the object our ref currently refers to"""
401+
returnself._get_object()
395402

396-
object=property(
397-
_get_object,
398-
set_object, # type: ignore[arg-type]
399-
doc="Return the object our ref currently refers to",
400-
)
403+
@object.setter
404+
defobject(self, object: Union[AnyGitObject, "SymbolicReference", str]) ->"SymbolicReference":
405+
returnself.set_object(object)
401406

402407
def_get_reference(self) ->"SymbolicReference":
403408
"""
@@ -496,12 +501,14 @@ def set_reference(
496501
returnself
497502

498503
# Aliased reference
499-
reference: Union["Head", "TagReference", "RemoteReference", "Reference"]
500-
reference=property( # type: ignore[assignment]
501-
_get_reference,
502-
set_reference, # type: ignore[arg-type]
503-
doc="Returns the Reference we point to",
504-
)
504+
@property
505+
defreference(self) ->"SymbolicReference":
506+
returnself._get_reference()
507+
508+
@reference.setter
509+
defreference(self, ref: Union[AnyGitObject, "SymbolicReference", str]) ->"SymbolicReference":
510+
returnself.set_reference(ref)
511+
505512
ref=reference
506513

507514
defis_valid(self) ->bool:

‎git/repo/base.py‎

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -354,21 +354,19 @@ def __ne__(self, rhs: object) -> bool:
354354
def__hash__(self) ->int:
355355
returnhash(self.git_dir)
356356

357-
# Description property
358-
def_get_description(self) ->str:
357+
@property
358+
defdescription(self) ->str:
359+
"""The project's description"""
359360
filename=osp.join(self.git_dir, "description")
360361
withopen(filename, "rb") asfp:
361362
returnfp.read().rstrip().decode(defenc)
362363

363-
def_set_description(self, descr: str) ->None:
364+
@description.setter
365+
defdescription(self, descr: str) ->None:
364366
filename=osp.join(self.git_dir, "description")
365367
withopen(filename, "wb") asfp:
366368
fp.write((descr+"\n").encode(defenc))
367369

368-
description=property(_get_description, _set_description, doc="the project's description")
369-
del_get_description
370-
del_set_description
371-
372370
@property
373371
defworking_tree_dir(self) ->Optional[PathLike]:
374372
"""
@@ -885,13 +883,14 @@ def _set_daemon_export(self, value: object) -> None:
885883
elifnotvalueandfileexists:
886884
os.unlink(filename)
887885

888-
daemon_export=property(
889-
_get_daemon_export,
890-
_set_daemon_export,
891-
doc="If True, git-daemon may export this repository",
892-
)
893-
del_get_daemon_export
894-
del_set_daemon_export
886+
@property
887+
defdaemon_export(self) ->bool:
888+
"""If True, git-daemon may export this repository"""
889+
returnself._get_daemon_export()
890+
891+
@daemon_export.setter
892+
defdaemon_export(self, value: object) ->None:
893+
self._set_daemon_export(value)
895894

896895
def_get_alternates(self) ->List[str]:
897896
"""The list of alternates for this repo from which objects can be retrieved.
@@ -929,11 +928,14 @@ def _set_alternates(self, alts: List[str]) -> None:
929928
withopen(alternates_path, "wb") asf:
930929
f.write("\n".join(alts).encode(defenc))
931930

932-
alternates=property(
933-
_get_alternates,
934-
_set_alternates,
935-
doc="Retrieve a list of alternates paths or set a list paths to be used as alternates",
936-
)
931+
@property
932+
defalternates(self) ->List[str]:
933+
"""Retrieve a list of alternates paths or set a list paths to be used as alternates"""
934+
returnself._get_alternates()
935+
936+
@alternates.setter
937+
defalternates(self, alts: List[str]) ->None:
938+
self._set_alternates(alts)
937939

938940
defis_dirty(
939941
self,

0 commit comments

Comments
(0)