@@ -78,16 +78,13 @@ def __init__(self, *args, **kwargs):
7878 super ().__init__ (* args , ** kwargs )
7979 self ._ymeta = self ._ydoc .get_map ("meta" )
8080 self ._ycells = self ._ydoc .get_array ("cells" )
81- self ._ymetadata = self ._ydoc .get_map ("metadata" )
8281
8382 @property
8483 def source (self ):
8584 meta = self ._ymeta .to_json ()
8685 cells = self ._ycells .to_json ()
87- metadata = self ._ymetadata .to_json ()
8886 cast_all (meta , float , int )
8987 cast_all (cells , float , int )
90- cast_all (metadata , float , int )
9188 for cell in cells :
9289 if "id" in cell and meta ["nbformat" ] == 4 and meta ["nbformat_minor" ] <= 4 :
9390 # strip cell IDs if we have notebook format 4.0-4.4
@@ -97,7 +94,7 @@ def source(self):
9794
9895 return dict (
9996 cells = cells ,
100- metadata = metadata ,
97+ metadata = meta [ " metadata" ] ,
10198 nbformat = int (meta ["nbformat" ]),
10299 nbformat_minor = int (meta ["nbformat_minor" ]),
103100 )
@@ -125,8 +122,6 @@ def source(self, value):
125122 self ._ymeta .pop (t , key )
126123 if cells_len :
127124 self ._ycells .delete_range (t , 0 , cells_len )
128- for key in self ._ymetadata :
129- self ._ymetadata .pop (t , key )
130125 for key in [k for k in self ._ystate if k != "dirty" ]:
131126 self ._ystate .pop (t , key )
132127
@@ -154,8 +149,7 @@ def source(self, value):
154149
155150 if ycells :
156151 self ._ycells .extend (t , ycells )
157- for k , v in nb ["metadata" ].items ():
158- self ._ymetadata .set (t , k , v )
152+ self ._ymeta .set (t , "metadata" , nb ["metadata" ])
159153 self ._ymeta .set (t , "nbformat" , nb ["nbformat" ])
160154 self ._ymeta .set (t , "nbformat_minor" , nb ["nbformat_minor" ])
161155
@@ -164,4 +158,3 @@ def observe(self, callback):
164158 self ._subscriptions [self ._ystate ] = self ._ystate .observe (callback )
165159 self ._subscriptions [self ._ymeta ] = self ._ymeta .observe (callback )
166160 self ._subscriptions [self ._ycells ] = self ._ycells .observe_deep (callback )
167- self ._subscriptions [self ._ymetadata ] = self ._ymetadata .observe (callback )
0 commit comments