##// END OF EJS Templates
wireprotov2: derive "required" from presence of default value...
Gregory Szorc -
r40031:582676ac default
parent child Browse files
Show More
@@ -477,9 +477,6 b' def wireprotocommand(name, args=None, pe'
477 A callable returning the default value for this argument. If not
477 A callable returning the default value for this argument. If not
478 specified, ``None`` will be the default value.
478 specified, ``None`` will be the default value.
479
479
480 ``required``
481 Bool indicating whether the argument is required.
482
483 ``example``
480 ``example``
484 An example value for this argument.
481 An example value for this argument.
485
482
@@ -535,13 +532,9 b' def wireprotocommand(name, args=None, pe'
535 raise error.ProgrammingError('%s argument for command %s does not '
532 raise error.ProgrammingError('%s argument for command %s does not '
536 'declare example field' % (arg, name))
533 'declare example field' % (arg, name))
537
534
538 if 'default' in meta and meta.get('required'):
535 meta['required'] = 'default' not in meta
539 raise error.ProgrammingError('%s argument for command %s is marked '
540 'as required but has a default value' %
541 (arg, name))
542
536
543 meta.setdefault('default', lambda: None)
537 meta.setdefault('default', lambda: None)
544 meta.setdefault('required', False)
545 meta.setdefault('validvalues', None)
538 meta.setdefault('validvalues', None)
546
539
547 def register(func):
540 def register(func):
@@ -570,14 +563,17 b' def capabilitiesv2(repo, proto):'
570 args={
563 args={
571 'noderange': {
564 'noderange': {
572 'type': 'list',
565 'type': 'list',
566 'default': lambda: None,
573 'example': [[b'0123456...'], [b'abcdef...']],
567 'example': [[b'0123456...'], [b'abcdef...']],
574 },
568 },
575 'nodes': {
569 'nodes': {
576 'type': 'list',
570 'type': 'list',
571 'default': lambda: None,
577 'example': [b'0123456...'],
572 'example': [b'0123456...'],
578 },
573 },
579 'nodesdepth': {
574 'nodesdepth': {
580 'type': 'int',
575 'type': 'int',
576 'default': lambda: None,
581 'example': 10,
577 'example': 10,
582 },
578 },
583 'fields': {
579 'fields': {
@@ -746,7 +742,6 b' def getfilestore(repo, proto, path):'
746 },
742 },
747 'nodes': {
743 'nodes': {
748 'type': 'list',
744 'type': 'list',
749 'required': True,
750 'example': [b'0123456...'],
745 'example': [b'0123456...'],
751 },
746 },
752 'fields': {
747 'fields': {
@@ -757,7 +752,6 b' def getfilestore(repo, proto, path):'
757 },
752 },
758 'path': {
753 'path': {
759 'type': 'bytes',
754 'type': 'bytes',
760 'required': True,
761 'example': b'foo.txt',
755 'example': b'foo.txt',
762 }
756 }
763 },
757 },
@@ -848,7 +842,6 b' def knownv2(repo, proto, nodes):'
848 args={
842 args={
849 'namespace': {
843 'namespace': {
850 'type': 'bytes',
844 'type': 'bytes',
851 'required': True,
852 'example': b'ns',
845 'example': b'ns',
853 },
846 },
854 },
847 },
@@ -865,7 +858,6 b' def listkeysv2(repo, proto, namespace):'
865 args={
858 args={
866 'key': {
859 'key': {
867 'type': 'bytes',
860 'type': 'bytes',
868 'required': True,
869 'example': b'foo',
861 'example': b'foo',
870 },
862 },
871 },
863 },
@@ -883,7 +875,6 b' def lookupv2(repo, proto, key):'
883 args={
875 args={
884 'nodes': {
876 'nodes': {
885 'type': 'list',
877 'type': 'list',
886 'required': True,
887 'example': [b'0123456...'],
878 'example': [b'0123456...'],
888 },
879 },
889 'haveparents': {
880 'haveparents': {
@@ -899,7 +890,6 b' def lookupv2(repo, proto, key):'
899 },
890 },
900 'tree': {
891 'tree': {
901 'type': 'bytes',
892 'type': 'bytes',
902 'required': True,
903 'example': b'',
893 'example': b'',
904 },
894 },
905 },
895 },
@@ -956,22 +946,18 b' def manifestdata(repo, proto, haveparent'
956 args={
946 args={
957 'namespace': {
947 'namespace': {
958 'type': 'bytes',
948 'type': 'bytes',
959 'required': True,
960 'example': b'ns',
949 'example': b'ns',
961 },
950 },
962 'key': {
951 'key': {
963 'type': 'bytes',
952 'type': 'bytes',
964 'required': True,
965 'example': b'key',
953 'example': b'key',
966 },
954 },
967 'old': {
955 'old': {
968 'type': 'bytes',
956 'type': 'bytes',
969 'required': True,
970 'example': b'old',
957 'example': b'old',
971 },
958 },
972 'new': {
959 'new': {
973 'type': 'bytes',
960 'type': 'bytes',
974 'required': True,
975 'example': 'new',
961 'example': 'new',
976 },
962 },
977 },
963 },
General Comments 0
You need to be logged in to leave comments. Login now